gpt4 book ai didi

visual-studio-2012 - CMake 和 Visual Studio - 指定解决方案文件目录

转载 作者:行者123 更新时间:2023-12-04 13:50:58 66 4
gpt4 key购买 nike

我定义了一个 CMakeLists.txt我的项目的文件,它可以正常工作。

我使用 CMake GUI 生成 Visual Studio 项目,并要求在文件夹 Build 中构建二进制文件(CMAke 缓存和其他内容)。位于 CMakeLists.txt 所在的文件夹中是。

我能够指定必须在何处创建可执行文件和库。
有没有办法指定必须在何处创建 Visual Studio 解决方案文件?我想把它放在根目录中,但同时我不想在 Build 目录中也有 CMake 创建的所有其他文件。

CMake 创建了我在 CMakeLists.txt 中定义的项目还有另外两个项目:ALL_BUILDZERO_CHECK .它们的用途是什么?
我能够避免创建 ZERO_CHECK通过使用命令 set_property(GLOBAL PROPERTY USE_FOLDERS On) .
有没有办法避免创建 ALL_BUILD ?

最佳答案

看来您最近才切换到 CMake,因为当我第一次开始使用 CMake 时,这些问题也突然出现在我的脑海中。让我们按照您发布它们的顺序解决它们:

I use the CMake GUI for generating a Visual Studio Project, and I ask to build the binaries (CMAke cache and other stuff) in the folder Build which is in the same folder where CMakeLists.txt is.



别。总是做一个 out-of-source build与 CMake。我知道,当你第一次做的时候感觉很奇怪,但相信我:一旦你习惯了,你就再也不想回去了。

当代码和构建文件正确分离时,使用源代码控制变得更加方便这一单一事实使其成为 CMake 的杀手级功能。

Is there a way to specify also where the Visual Studio Solution file has to be created?



你真的不应该在意。

我明白为什么您确实觉得您需要完全控制解决方案和项目文件的创建方式,但实际上您不需要。只需将解决方案的目标指定为源外构建的来源,而忽略生成的所有其他文件。您无需担心,也不想担心 - 这正是 CMake 应该为您处理的事情。

问问自己:如果您可以选择每个项目文件的位置,您会得到什么?没什么,因为有机会,无论如何你都不会碰它们。 CMake 现在是你唯一的主人......

CMake creates the Project I defined in CMakeLists.txt but also two other projects: ALL_BUILD and ZERO_CHECK. What's their utility? I was able to avoid the creation of ZERO_CHECK by using the command set_property(GLOBAL PROPERTY USE_FOLDERS On). Is there a way for avoiding also the creation of ALL_BUILD?



再说一次,你真的不应该在意。 CMake 定义了几个虚拟项目,它们对于您不想担心的某些内部伏都教非常有用。他们一开始看起来很奇怪,但你会比你想象的更快地适应他们的视线。只是不要试图将它们扔掉,因为它无法正常工作。
如果他们的视线真的让您如此烦恼,请考虑 moving them to a folder inside the solution这样您就不必一直看着它们。

底线:CMake 在几个方面感觉与手工制作的 VS 解决方案不同。这需要一些时间来适应,但最终是一种比人们可能担心的痛苦少得多的经历。

关于visual-studio-2012 - CMake 和 Visual Studio - 指定解决方案文件目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19865948/

66 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com