c++ - Visual Studio 2010 - 自定义生成工具

标签 c++ visual-studio-2010 build cmake

我有一个项目,在 gcc 下编译,现在我用 cmake 创建了我的 vs2010 解决方案。到目前为止,一切都很好。我看到在我的Solution Explorer 中的每个项目中都存在一个“CmakeLists.txt”,乍一看我认为它是垃圾并且在构建解决方案时附带了 cmake文件,但后来我意识到,这是项目构建步骤的一部分。

这对我来说是全新的,我找不到任何与 cmake 相关的“自定义构建工具” 的信息。 所以我的问题是:

1) 现在我应该将内容写入 cmakelists.txt 文件,而不是创建Property Pages,但是什么是 "Add Addtiional Include Files" 或 < strong>“添加额外的 Lib 文件”

1a) 或者我应该只使用属性页并以某种方式将它们转换为 cmakelists.txt 文件,或者这不可能吗?

2) 这是实现“松耦合”项目的方法吗?

3) 你能给我一个链接,其中提到了与 CmakeLists.txt 相关的自定义构建工具。我认为 CmakeLists.txt 只是创建项目文件的一部分,而不是构建的一部分。 (大多数情况)

感谢您的宝贵时间!

enter image description here

最佳答案

CMake 创建项目文件,但项目文件控制构建。 CMake 是基于 unix 模型的,因此没有直接等效于 include additional headers 选项。相反,您需要在包含 header 的目录上使用 include_directory。对于其他库,您需要 add_library 和 imported 选项来创建目标。然后使用 link_target_libraries 链接库。

关于c++ - Visual Studio 2010 - 自定义生成工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22134665/

相关文章:

C++ 问号输出

c# - 发布期间出错无法删除目录 "bin\Debug\app.publish\"

c# - Windows Media Player 视频无缝循环

.net - 为什么Paket需要三个文件来支持依赖管理?

C++:为什么在 Eclipse Neon 中运行的相同代码在 Visual Studio 2013 中会产生不同的输出?

c++ - 这段代码中 "and N"有什么用?

java - 为什么方法不能返回多个值

visual-studio-2010 - 在VS2010下的OpenCV 2.4.2中, Release模式下的运行时错误?

c++ - 切换到 clang 3.4 和 libc++ 时找不到标准 header

Gradle 复合构建版本成分和 maven 发布