안녕하세요.
CSISClient가 있는 파일을 프로젝트에 추가하셨나요? 저 함수에 어딘가에 사용되었는데 실제 코드로 링크하려니 없다는 겁니다.
딱 떠오르는건 두가지 경우가 있습니다. CSISClient 함수나 그 클래스가 컴파일된 파일 - *.obj나 *.lib가 되겠죠? - 이 파일이 프로젝트에 포함이 안되어 링크시 같이 링크가 안되거나,
두번째로 저 함수가 어느 헤더파일에 원형(prototype)이 선언이 되어있고 실제 코드에서 호출을 했는데 실제로 저 함수에 코딩을 안 한것입니다. CSISClient가 헤더파일에만 있고 cpp 파일내에 없을 경우 링크 에러가 납니다.
일단 이렇게만 점검해 보세요~
조승희 님이 쓰신 글 :
:
: 안녕하세요
: 저는 자바 개발자인데 제휴업체에서 솔루션이 C++로 개발된거라
: 자바에서 C++함수를 호출하는식으로 작업을 진행하는데...문제가 발생하네요..
: 우선 개발 순서는 자바소스를 작성하고 C++소스를 작성한후
: C++소스의 라이브러를 생성한후 자바소스를 실행시키면 결과물이 나오는 과정입니다
:
: 그런데 C++소스를 작성하고라이브러리(DLL)를 만들으려는데
: 링크 에러가 나오는데 잘모르겠네요 왜 나오는지요..
: D:\developdoc\neoemtel\sis\SISServerTest.win32.vc++>cl -LD D:\developdoc\neoemtel\sis\SISServerTest.win32.vc++\src\testmain.cpp -FeJin.dll
: Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8168 for 80x86
: Copyright (C) Microsoft Corp 1984-1998. All rights reserved.
:
: testmain.cpp
: Microsoft (R) Incremental Linker Version 6.00.8168
: Copyright (C) Microsoft Corp 1992-1998. All rights reserved.
:
: /dll
: /implib:Jin.lib
: /out:Jin.dll
: testmain.obj
: Creating library Jin.lib and object Jin.exp
: testmain.obj : error LNK2001: unresolved external symbol "public: __thiscall CSISClient::CSISClient(void)" (??0CSISClient@@QAE@XZ)
: testmain.obj : error LNK2001: unresolved external symbol "public: __thiscall CSISClient::~CSISClient(void)" (??1CSISClient@@QAE@XZ)
: testmain.obj : error LNK2001: unresolved external symbol "public: int __thiscall CSISClient::StartUp(void)" (?StartUp@CSISClient@@QAEHXZ)
: Jin.dll : fatal error LNK1120: 3 unresolved externals
:
: 위와 같이 3개의 에러가 나네요 C++개발자님들 도와주셔요...
: 일주일동안 q&A를 뒤진 끝에 저랑 비슷한 에러를 나는 사람들의 대답 결과 라이브러리를 추가 안해줘서
: 그렇다고 하는데 어떻식으로 라이브러리를 추가해줘야하는지....
: 답답합니다 이것 때문에 지금 4일을 아무것도 한것 없이 보냈네요
|