【发布时间】:2012-12-30 08:14:01
【问题描述】:
This question 询问类似的问题,但只需要手动指定要复制的 dll。我的问题是:有没有办法让 CMake 复制链接到可执行库的所有 dll,而无需手动告诉 CMake 要复制哪些文件?有时 CMake 更了解是否需要 dll。例如,在安装了同一个库(例如 Boost)的 dll 和静态库的系统中,我们选择静态链接到 Boost,那么我们不需要复制 dll。因此,与手动指定要复制的文件相比,CMake 可以做出更好的决定。另一个例子是,我的 QT 库链接到 ICU 库,在编写 CMakeLists.txt 时,我对此一无所知,所以我不可能告诉 CMake 复制 ICU dll,所以这应该由 CMake 而不是人类。
假设操作系统是 Windows。
【问题讨论】:
-
我看到了一个大问题:您无法在编译时知道所有必要的 dll。延迟加载的 dll 或插件(具有自己的依赖 dll)在运行时“找到”...