CLion - 更改默认的构建目录

27
我在使用CLion时遇到了更改构建目录的问题。我尝试过: set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "bin"),但似乎没有改变并仍然是(/home/adil/.clion10/system/cmake/generated/c05c962b/c05c962b/Debug/Project)。
我也尝试了这里指定的解决方法,但也没有起作用。
有人有解决此问题的方案吗?

在Mac上构建CL-138.2344.17时也遇到了此问题。 - Spiro Michaylov
1
我也有这个问题,但下面没有一个可接受的解决方案。更改CMakeLists.txt是一个愚蠢的想法,因为这是一个版本化的文件。像构建目录这样的每个用户配置都不应该进入原始源代码并向上游返回。 - srking
@srking,你觉得使用每个用户设置的CMake环境变量怎么样,例如:cmake -DVARIABLE=value - wiped
2
我可能会卸载Clion,这个问题太烦人了。 - Griffan
2
非常详细的回答,请查看 https://dev59.com/I18e5IYBdhLWcg3wVJXH#28200869 - ilidar
@dktcup的链接详细阐述了... http://blog.jetbrains.com/clion/2014/09/clion-answers-frequently-asked-questions/ - cloudsurfin
4个回答

42

你需要在bin前缀中加上当前项目所在目录的路径。你可以使用${CMAKE_CURRENT_SOURCE_DIR}

set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/bin")

请务必在您的 CMakeLists.txt 文件中相关的 add_executable 指令之前添加此内容。


4
或者在库的情况下,设置 CMAKE_LIBRARY_OUTPUT_DIRECTORY${CMAKE_CURRENT_SOURCE_DIR}/lib - Giancarlo Romeo

12

进入“设置”->“CMake”,在“构建输出路径”字段中指定您想要存储构建文件的相对或绝对路径,例如"./bin"将输出构建文件到“YourProject/bin/Debug/yourExeFile.exe”。

输入图像描述


JetBrains 的 Dmitry Kozhevnikov 表示:自 2020.2 版本以来,它被称为“设置 | 构建、执行、部署 | CMake | 构建目录”。--- 指定构建/生成输出目录的能力: CPP-3374 - li ki

4
被清除的答案是正确的,但我必须补充一点,你必须在add_executable指令之前和在为add_executable定义源文件的set指令之前放置set指令,如果你不这样做,输出将是相同的,不会出现错误。

1
完全不明白他们为什么要踩你,你救了我的一天!谢谢你。 - katsos
1
这个被踩是因为它明显是对另一个答案的评论。这应该添加到那里,而不是作为单独的答案。 - klh
我刚刚在@wiped的回答中添加了Mrdev的资格。 - CODE-REaD

2
您可以使用set_target_properties
set_target_properties( YOUR_PROJECT PROPERTIES RUNTIME_OUTPUT_DIRECTORY "YOUR_BUILD_DIRECTORY")

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接