错误LNK2019:外部符号

Error LNK2019: external symbol

本文关键字:符号 外部 LNK2019 错误      更新时间:2023-10-16

我是 elastix 的新手,并且停留在非常开始。我正在尝试用C++编译一个非常基本的程序,该程序将使用 elastix 库进行实例化。当我尝试编译程序时,我收到一个链接器错误:

错误 LNK2019:外部符号"公共:虚拟__cdecl弹性 ELASTIX :: :: ~ ELASTIX (void(" (?? 1ELASTIX @ elastix FALU@@@XZ( "公共功能:虚拟无效 * __cdecl elastix eLASTIX :: :: '标量删除析构函数'(无符号整数(" (?? _ @ elastix GELASTIX UEAAPEAXI@@@Z(

我做了一些谷歌搜索,发现它实际上是一个流行的链接器问题:请参阅本主题和这个主题以及这个特定的 elastix 邮件链。我试图使用这些链接修复它,但没有成功。我想知道你们男生/女生能不能帮我。您可以在下面找到我的源文件(CMakeList.txt和C++代码(和一些附加信息:我运行Windows 7,Cmake版本是3.0.2,ITK版本是4.6,elastix版本是4.7和Microsoft VS 2008。提前致谢

CmakeList.txt # 使用外部项目中的 elastix 代码的示例项目。 项目( elx外部项目 (

CMAKE_MINIMUM_REQUIRED( VERSION 2.8 )
# Find TIK
FIND_PACKAGE( ITK REQUIRED )
INCLUDE( ${ITK_USE_FILE} )
# find elastix
SET( ELASTIX_BINARY_DIR "" CACHE PATH "Path to elastix binary folder" )
SET( ELASTIX_USE_FILE ${ELASTIX_BINARY_DIR}/UseElastix.cmake )
IF( EXISTS ${ELASTIX_USE_FILE} )
 MESSAGE( STATUS "Including Elastix settings." )
 INCLUDE( ${ELASTIX_USE_FILE} )
ENDIF()
# Build a small test executable (this test is basically the same as
# the one found in the <elastix-dir>/src/Testing dir.
ADD_EXECUTABLE( elxtimertest itkTimerTest.cxx )
# Link to some libraries
TARGET_LINK_LIBRARIES( elxtimertest
  ITKCommon elxCommon elastix )

C++代码

#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;
}

所以我解决了它。我回溯了整个事情,似乎 CMake 没有应用我在 GUI 中所做的更改。于是我用手敲了一下CMakeLists。之后,像魅力一样工作

相关文章: