如何将dll从库复制到cmake的可执行输出目录中?

兔子27

CMakeLists.txt使用add_library(MyLib SHARED ${files})结果库创建了几个库,这些库最终位于<root>/build/libs/MyLib/[Debug|Release]/root是主目录的目录中CMakeLists.txt

如何复制MyLib.dlladd_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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用CMake将Qt DLL复制到Windows上的可执行目录

CMake 将 Qt 运行时库复制到可执行输出路径

用CMake制作完后如何将目录内容复制到构建目录中?

CMake将依赖关系复制到可执行输出路径

Nuget库-将库的DLL复制到当前项目的输出目录

如何将 pexpect 的输出复制到文件中

NodeJS如何将文件从项目目录复制到执行目录?

如何将目录(及其子目录)中的所有pdf文件递归地复制到单个输出目录中?

如何将目录层次结构(省略文件)复制到其他目录中?

如何将文件复制到DOS中的目录,并在必要时创建目录?

如何将随机文件复制到目录

如何将目录复制到自身?

Maven:如何将工件复制到特定目录?

如何将文件复制到子目录?

如何将工作目录复制到新提交

如何将 JarEntry 复制到目录

如何将命令的输出复制到文件?

如何将内部打包文件复制到Java中的工作目录中?

如何将文件从 docker 容器传输/复制到 ubuntu 18.04 中的本地目录?

如何将文件从Docker容器传输/复制到ubuntu 18.04中的本地目录?

如何将文件复制到Java 8中的另一个目录?

如何将所有文件夹复制到同一目录中?

如何将所有文件复制到与gulpfile相同的目录中?

如何将依赖项源复制到Maven中的目录

如何将提供的Maven依赖项复制到所选目录中?

如何将zip文件中的文件复制到某个目录?

如何将当前目录的文件复制到Dockerfile中的文件夹

如何将Meson中的文件复制到子目录

如何将文件从工作区外部的目录复制到Jenkins管道中的工作区