我需要构建一个独立的可执行文件。主要的问题是这个项目依赖于我以前在我的系统上构建的dll。用CMake创建独立的可执行文件
当我创建可执行文件时,不应该存在这些dll的依赖关系,所以我需要知道是否可以在程序中以某种方式包含它们。编译我目前正在使用CMake,我认为这是最好的解决方案,但我还没有想出一种方法来完成这项任务呢。
现在在我CMakeLists.txt
文件我做到以下几点:
find_package(ITK REQUIRED)
include(${ITK_USE_FILE})
add_executable(myexe myexe.cxx)
target_link_libraries(myexe
${ITK_LIBRARIES})
我省略了一些指令,以专注于什么是最重要的。当我编译它时,它正常工作,但它不是独立的,因为它仍然继续使用我的系统上安装的dll(也尝试使用.a)。
谢谢
你的意思是什么'dll',ITK'?你的问题是你如何构建'myexe'可执行文件,使它不需要'ITK ''''''''''''''''''''''在运行库中的库? – Peter
您是否在Linux或Windows上工作?您提到'dll'(通常是Windows共享库)和'.a'(通常是Linux静态库) – Peter
抱歉,我刚刚为itk(和vtk)编译了静态库,生成的文件有一个.a扩展名,据我所知它也适用于Windows。所以我需要构建这个可执行文件,以便它不需要itk运行时 – user3714682