c++ - 在 Code::Blocks with Dependencies 中编译

标签 c++ dll makefile cmake codeblocks

我在 Code::Blocks 中有一个项目使用动态库,将来会使用更多。我已正确设置项目以使用该库,它编译并运行得非常好。

但是,我想知道是否有一种方法可以编译 exe 的发布版本旁边文件夹中所需的 dll。 (我不想逐一搜索并复制/粘贴它们。) 我觉得我错过了什么,或者以错误的方式去做。

有没有让 Code::Blocks 做到这一点或获得易于分发的 zip 文件/项目的更好方法?

我如何使用 makefile(最好是 cmake,但任何与 Windows 兼容的类型都很好)来完成此任务?

最佳答案

CodeBlocks 提供了执行构建前或构建后的能力。结帐菜单“项目->构建选项”,在“构建前/构建后步骤”选项卡下,您可以插入所需的任何 shell 命令。例如:

enter image description here

按 F9 时,您将看到:

-------------- Build: Release in aaa (compiler: GNU GCC Compiler)---------------
Target is up to date.
Running target post-build steps
echo "Hi"
Hi
Process terminated with status 0 (0 minutes, 0 seconds)
0 errors, 0 warnings (0 minutes, 0 seconds)

所以你可以在这里添加任何你想要收集文件的命令,例如(使用 7-zip):

7z a my_archive.zip myfile1.exe myfile2.dll readme.txt

请注意,这将在每次构建时执行,这不是您想要的:在编译程序中的微小更改时,您不想等待存档程序。所以也许只在特殊的构建目标中执行此操作。

关于c++ - 在 Code::Blocks with Dependencies 中编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27666373/

相关文章:

c++ - 模板类库

c++ - pselect() 与循环中的 accept()

C++ 创建一个函数来读取 .txt 文件并检查以确保文件存在,但我的循环不工作

.net - 在包装 DLL 中引用 Microsoft Enterprise Library DLL 文件

ubuntu - 使用 Makefile 调试 CLion [UNIX]

C++: 语法错误 C2061: 标识符

.net - 来自外部 dll 的数据类型问题

string - 如何使用调用库函数节点将字符串传递回labview

macos - OS X - 返回 "Nothing to be done for <filename>"

makefile - 为文件夹中的文件制定推理规则