我需要构建一个独立的可执行文件。主要问题是这个项目依赖于我以前在我的系统上构建的dll。
当我创建可执行文件时,不应该依赖这些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)。
由于
答案 0 :(得分:0)
DLL本质上是在运行时动态链接的。您唯一的选择是使用静态库(Windows上的.lib。