Turbo-C
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
터보-C 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
Lua 게시판
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C/C++ Q/A
[6864] 컴파일 후 빌드과정에서의 오류
하루 [peach8431] 14858 읽음    2014-01-09 17:24

산넘어 산이네요...

ctrl+F7을 통해 컴파일을 수행하면 오류 및 경고없이 정상적으로 완료가 됩니다.

이후에 F7로 빌드를 수행하였을 때 오류 2개가 발생하네요.

> MSVCRTD.lib(crtexew.obj) : error LNK2019 :_WinMain@16 외부기호(참조위치:___tmianCRTStartup함수)에서 확인하지 못했습니다.
> D:\modeling\Debug\modeling.exe : fatal error LNK1120 : 1개의 확인할 수 없는 외부 참조입니다.


입력파일로 쓰인 true.ascii는 해당 소스파일 modeling.cpp와 같은 디렉토리에 위치하여 있습니다.

컴파일상의 오류가 아니어서 코드상에 잘못된 건 아닌거 같은데... 무엇이 문제인지 모르겠네요.

CUDA C를 위한 환경이라 lib파일도 cuda관련하여 추가해놓았고, 아래 코드는 CUDA C를 위한 C++코드라서 별다른 환경설정은

하지않았습니다.



추가적으로, 실수형으로 입력된 가로 nx, 새로 nz개의 텍스트파일로부터 배열에 입력받아 자료를 처리하고자 하는데

제가 작성한 코드로 구현이 가능한지도 확인부탁드립니다.



=====================================================================================================
#include <stdio.h>
#include <fstream>
#include <iostream>
#include <cmath>
using namespace std;

int main(){

    #define nx 401
    #define nz 201
    #define nt 3000

    int ix, iz, it, srcx, srcz;
    double dt, dx, dz, a1, a2, a3, a4, a5, temp;

    double u1[nx+2][nz+2]={0}, u2[nx+2][nz+2]={0}, u3[nx+2][nz+2]={0};
    double v[nx+1][nz+1]={0}, f[nx+1][nz+1]={0}, w[nt+1];

    dx=0.005;
    dz=0.005;
    dt=0.0005;
    srcx=2; //source position parameter
    srcz=1;

    f[srcx][srcz]=1;
       
//----- true velocity model ---------------------------------------//
    ifstream fin("true.ascii",ios::in); //읽기만 가능한 형태로 파일열기

    for (ix=1;ix<=nx;ix++){
        for (iz=1;iz<=nz;iz++){
            fin >> temp;         ★ 이 경우, 공백 또는 탭을 기준으로 하나의 숫자만 입력이 되는지 여부 확인?
            v[ix][iz]=temp;
        }
    }
    fin.close();
       

    ofstream fout("s.ascii",ios::trunc); //이미 파일이 있는경우 삭제, 재생성

//----- forward modeling -------------------------------------------//
    for (it=1;it<=nt;it++){

        temp=it;
        if (fmod(temp,100)==0){
            printf("%d / %d \n",it, nt);
        }

        for (iz=1;iz<=nz;iz++){
            for (ix=1;ix<=nx;ix++){
                a1=2*u2[ix][iz] - u1[ix][iz];
                a2=(v[ix][iz]*v[ix][iz])*(dt * dt);
                a3=(u2[ix+1][iz]-2*u2[ix][iz]+u2[ix-1][iz])/(dx * dx);
                a4=(u2[ix][iz+1]-2*u2[ix][iz]+u2[ix][iz-1])/(dz * dz);
                a5=f[ix][iz]*w[it]/dx/dz;
                u3[ix][iz]=a1+a2*(a3+a4+a5);
            }
        }
        // Absorbing boundary condition----------------------------//
        for (iz=1;iz<=nz;iz++){
            u3[1][iz]=v[1][iz]*dt/dx*(u2[2][iz]-u2[1][iz]+u2[1][iz]);
            u3[nx][iz]=v[nx][iz]*dt/dx*(u2[nx-1][iz]-u2[nx][iz]+u2[nx][iz]);
        }
        for (ix=1;ix<=nz;ix++){
            //u3[ix][1]=v[ix][1]*dt/dz*(u2[ix][2]-u2[ix][1]+u2[ix][1]);
            u3[ix][nz]=v[ix][nz]*dt/dz*(u2[ix][nz-1]-u2[ix][iz]+u2[ix][nz]);
        }

        // output--------------------------------------------------//
        for (ix=1;ix<=nx;ix++){
            fout<<u3[ix][srcz];
        }   
        fout<<endl;

        for (ix=1;ix<=nx;ix++){
            for (iz=1;iz<=nz;iz++){
                u1[ix][iz]=u2[ix][iz];
                u2[ix][iz]=u3[ix][iz];
                u3[ix][iz]=0;
            }
        }

    }
    fout.close();

}

+ -

관련 글 리스트
6864 컴파일 후 빌드과정에서의 오류 하루 14858 2014/01/09
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.