This question询问类似的问题,但只需要手动指定要复制的dll。我的问题是:有没有办法让 CMake 复制链接到可执行库的所有 dll,而无需手动告诉 CMake 要复制哪些文件?有时 CMake 更了解是否需要 dll。例如,在一个同时安装了同一个库(例如 Boost)的 dll 和静态库的系统中,我们选择静态链接到 Boost,那么我们不需要复制 dll。因此,与手动指定要复制的文件相比,CMake 可以做出更好的决定。另一个例子是,我的 QT 库链接到 ICU 库,在编写 CMakeLists.txt 时,我对此一无所知,所以我不可能告诉 CMake 复制 ICU dll,所以这应该由 CMake 而不是人类。
假设操作系统是 Windows。