VisualStudio2008中的SimpleTk链接 对于C++中的任何一个使用SimeLITK的人来说,这是个问题。

VisualStudio2008中的SimpleTk链接 对于C++中的任何一个使用SimeLITK的人来说,这是个问题。,c++,cmake,imaging,itk,simpleitk,C++,Cmake,Imaging,Itk,Simpleitk,我已经下载了SimpleTk代码,并按照SimpleTk指令(Superbuild)使用CMake生成了VS2008.sln文件 在SimpleITK build\lib\Debug中,我得到了一些SimpleITK库,例如:SimpleITKCommon-0.8.lib。 在SimpleITK-build\ITK-build\lib\Debug中,我得到了许多ITK-lib,例如:ITKCommon-4.5.lib 在代码中,我使用:#include“simpletk.h” 问题:我链接到什么

我已经下载了SimpleTk代码,并按照SimpleTk指令(Superbuild)使用CMake生成了VS2008
.sln
文件

SimpleITK build\lib\Debug
中,我得到了一些SimpleITK库,例如:
SimpleITKCommon-0.8.lib
。 在
SimpleITK-build\ITK-build\lib\Debug
中,我得到了许多ITK-lib,例如:
ITKCommon-4.5.lib

在代码中,我使用:
#include“simpletk.h”

问题:我链接到什么

我可以一个接一个地添加到
linker/input/additional dependencies
所有SimpleTk库中。然后我得到了未解析的外部符号,因为我没有链接到ITK库(大约有50个)。我不敢相信我需要增加额外的依赖项50-60个libs

我错过了什么?找不到任何链接到SimeLITK FOM C++的文档。 谢谢,干杯


Ari

建议使用CMake。如果要手动添加,则需要添加所有这些库,这是正确的

从simpletk/Examples/CMakeLists.txt文件中,可以看到如何使用CMake创建项目:

find_package(SimpleITK REQUIRED)
include(${SimpleITK_USE_FILE})

# Add compiler flags needed to use SimpleITK.
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${SimpleITK_REQUIRED_C_FLAGS}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${SimpleITK_REQUIRED_CXX_FLAGS}")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${SimpleITK_REQUIRED_LINK_FLAGS}")
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${SimpleITK_REQUIRED_LINK_FLAGS}")
set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${SimpleITK_REQUIRED_LINK_FLAGS}")

add_executable ( SimpleGaussian SimpleGaussian.cxx )
target_link_libraries ( SimpleGaussian ${SimpleITK_LIBRARIES} )

建议使用CMake。如果要手动添加,则需要添加所有这些库,这是正确的

从simpletk/Examples/CMakeLists.txt文件中,可以看到如何使用CMake创建项目:

find_package(SimpleITK REQUIRED)
include(${SimpleITK_USE_FILE})

# Add compiler flags needed to use SimpleITK.
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${SimpleITK_REQUIRED_C_FLAGS}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${SimpleITK_REQUIRED_CXX_FLAGS}")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${SimpleITK_REQUIRED_LINK_FLAGS}")
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${SimpleITK_REQUIRED_LINK_FLAGS}")
set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${SimpleITK_REQUIRED_LINK_FLAGS}")

add_executable ( SimpleGaussian SimpleGaussian.cxx )
target_link_libraries ( SimpleGaussian ${SimpleITK_LIBRARIES} )

建议使用CMake。如果要手动添加,则需要添加所有这些库,这是正确的

从simpletk/Examples/CMakeLists.txt文件中,可以看到如何使用CMake创建项目:

find_package(SimpleITK REQUIRED)
include(${SimpleITK_USE_FILE})

# Add compiler flags needed to use SimpleITK.
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${SimpleITK_REQUIRED_C_FLAGS}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${SimpleITK_REQUIRED_CXX_FLAGS}")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${SimpleITK_REQUIRED_LINK_FLAGS}")
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${SimpleITK_REQUIRED_LINK_FLAGS}")
set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${SimpleITK_REQUIRED_LINK_FLAGS}")

add_executable ( SimpleGaussian SimpleGaussian.cxx )
target_link_libraries ( SimpleGaussian ${SimpleITK_LIBRARIES} )

建议使用CMake。如果要手动添加,则需要添加所有这些库,这是正确的

从simpletk/Examples/CMakeLists.txt文件中,可以看到如何使用CMake创建项目:

find_package(SimpleITK REQUIRED)
include(${SimpleITK_USE_FILE})

# Add compiler flags needed to use SimpleITK.
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${SimpleITK_REQUIRED_C_FLAGS}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${SimpleITK_REQUIRED_CXX_FLAGS}")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${SimpleITK_REQUIRED_LINK_FLAGS}")
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${SimpleITK_REQUIRED_LINK_FLAGS}")
set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${SimpleITK_REQUIRED_LINK_FLAGS}")

add_executable ( SimpleGaussian SimpleGaussian.cxx )
target_link_libraries ( SimpleGaussian ${SimpleITK_LIBRARIES} )

谢谢你的回复。如果我的现有程序已经编写好了,并且我正在向其中添加SimpleTk,那么情况如何。我会手动将LIB添加到项目设置中吗?我有同样的问题。你能评论一下blowekamp吗?是的,你需要手动添加ITK和SimpleIK的所有库。我仍然建议您尝试在项目中使用CMake。您可以使用示例cmake构建和复制库,并将该项目的路径包含到您自己的库中。如果我的现有程序已经编写好了,并且我正在向其中添加SimpleTk,那么情况如何。我会手动将LIB添加到项目设置中吗?我有同样的问题。你能评论一下blowekamp吗?是的,你需要手动添加ITK和SimpleIK的所有库。我仍然建议您尝试在项目中使用CMake。您可以使用示例cmake构建和复制库,并将该项目的路径包含到您自己的库中。如果我的现有程序已经编写好了,并且我正在向其中添加SimpleTk,那么情况如何。我会手动将LIB添加到项目设置中吗?我有同样的问题。你能评论一下blowekamp吗?是的,你需要手动添加ITK和SimpleIK的所有库。我仍然建议您尝试在项目中使用CMake。您可以使用示例cmake构建和复制库,并将该项目的路径包含到您自己的库中。如果我的现有程序已经编写好了,并且我正在向其中添加SimpleTk,那么情况如何。我会手动将LIB添加到项目设置中吗?我有同样的问题。你能评论一下blowekamp吗?是的,你需要手动添加ITK和SimpleIK的所有库。我仍然建议您尝试在项目中使用CMake。您可以使用示例cmake构建和复制库,并将该项目的路径包含到您自己的库中。