我CMakeLists.txt
使用add_library(MyLib SHARED ${files})
结果库创建了几个库,这些库最终位于<root>/build/libs/MyLib/[Debug|Release]/
root是主目录的目录中CMakeLists.txt
。
如何复制MyLib.dll
到add_executable
将.exe文件放入CMake的目录?请注意,重要的是,复制的.dll必须是Debug或Release下的一个,具体取决于生成类型。这可能吗?
root/
|_ build/
| |_ Debug/
| | |_ MyApp.exe
| | |_ MyLibd.dll (copied from MyLib/Debug)
| |_ Release/
| | |_ MyApp.exe
| | |_ MyLib.dll (copied from MyLib/Release)
| |_ libs/
| |_ MyLib/
| |_ Debug/
| | |_ MyLibd.dll
| |_ Release/
| |_ MyLib.dll
|_ libs/
| |_ MyLib/
| |_ MyLib.cpp
| |_ MyLib.hpp
| |_ CMakeLists.txt
|_ CMakeLists
.lib/.dll/.exe
无论哪种构建模式(调试或发行版,x86或x64)是什么,我都建议您使用以下行将所有生成的文件放入给定文件夹:
set( CMAKE_RUNTIME_OUTPUT_DIRECTORY -some-folder- )
set( CMAKE_LIBRARY_OUTPUT_DIRECTORY -some-folder- )
set( CMAKE_ARCHIVE_OUTPUT_DIRECTORY -some-folder- )
更新:有了它,您可以直接使用链接它们
target_link_libraries(app *.lib)
另外,您不需要任何复制。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句