나는 새롭게 elastix에 verry 시작이고 verry 시작에 머물렀다. 나는 C++로 verry 기본 프로그램을 컴파일하려고하는데, 이것은 elastix 라이브러리를 사용하여 인스턴스화 할 것이다. 나는이 프로그램을 컴파일했을 때, 나는 링커 오류 가지고 :오류 LNK2019 : 외부 기호
Error LNK2019: external symbol "public: virtual __cdecl elastix ELASTIX :: :: ~ ELASTIX (void)" (?? 1ELASTIX @ elastix [email protected]@@XZ) unresolved referred to in the "public function: virtual void * __cdecl elastix eLASTIX :: :: `scalar deleting destructor '(unsigned int)" (?? _ @ elastix GELASTIX [email protected]@@Z)
좀 googeling을 했어 '를하고 가리키고 인기 링커 문제가 발견 : see this topicand this oneand this particular elastix mail chain. 나는이 링크를 사용하여 문제를 해결하려했지만 성공하지는 못했습니다. 너희들이 나를 도와 줄 수 있는지 궁금하다. 아래에서 내 소스 파일 (CMakeList.txt 및 C++ 코드)과 몇 가지 추가 정보를 찾을 수 있습니다. Windows 7, Cmake 버전 3.0.2, ITK 버전 4.6, elastix 버전 4.7 및 Microsoft VS 2008을 실행합니다. 미리 감사드립니다.
CmakeList.txt # 외부 프로젝트에서 elastix 코드를 사용하는 프로젝트의 예입니다.
#include "elastixlib.h"
using namespace elastix;
int main(int argc, char *argv[])
{
ELASTIX* el = new ELASTIX();
std::cerr << "elastix created" << std::endl;
delete el;
return 0;
}
elastix 라이브러리는 링커 플래그에 지정되지 않았거나 잘못 지정 되었기 때문에 연결되지 않았을 가능성이 큽니다. GNU make를 사용한다면, 실제 링커 플래그를보기 위해'make VERBOSE = 1'과 같은 것을 실행하도록 제안 할 것이지만'nmake'를 사용하고있을 가능성이 있기 때문에이 [SO 질문] (http : /stackoverflow.com/questions/23560590/verbose-nmake-makefiles-using-cmake) 실제 플래그가 무엇인지 조사하는 데 도움이 될 수 있습니다. – user3159253
나는 cmake-gui를 사용합니다. 나는 수동으로 경로를 설정하고 나중에 다시 구성합니다. – jorne