【问题标题】:Where does CLion store executable files?CLion 在哪里存储可执行文件?
【发布时间】:2014-11-08 06:29:06
【问题描述】:

我在 Ubuntu 14.04 上安装 CLion。我在 CMakeLists.txt 的帮助下构建了我的第一个项目:

源文件:

#include <iostream>
using namespace std;

int main() {
  cout << "Hello, World!" << endl;
  return 0;
}

CMakeLists.txt:

cmake_minimum_required(VERSION 2.8.4)
project(sh)

set(SOURCE_FILES main.cpp)
add_executable(sh ${SOURCE_FILES})

我的源文件位于 /home/user/Desktop/sh。但是在构建之后,我在这个文件夹中看不到任何可执行文件。它在哪里?

【问题讨论】:

标签: c++ cmake ubuntu-14.04 jetbrains-ide clion


【解决方案1】:

当你在 CLion 下构建时,

它打印将可执行文件发送到控制台的路径:

-- Build files have been written to: /home/<user>/.clion10/system/cmake/generated/8bd932b1/8bd932b1/Debug1

要更改此 File &gt; Settings...,并在 CMake 设置下,在工作目录字段中输入所需的子目录名称(例如,“bin”):

(在使用新的输出路径之前,您可能需要 Run > Clean。)

【讨论】:

  • 谢谢!您能否指定这是否是所有项目的全局设置,或者这是否是特定于项目的?此外,它们是否可能是可以在此“构建输出路径”设置中使用的变量名称(例如“$PROJECT_NAME”)?否则,所有项目都会构建到同一个目录中(如果我选择绝对路径)?
  • 这对我有用,而 OP 接受的答案不起作用!
  • @wdg,大约 8 个月前 :) 过去,这种方法效果很好。
  • 似乎此设置仅影响可执行文件的位置,例如我项目中的目标之一是 ctest 可执行文件,我希望 cmake/ctest 支持文件将在附近可执行以供运行,但事实并非如此。顺便说一句,看起来这个设置不能由 CMAKE 变量之一定义,这会很有用
【解决方案2】:

当你运行程序时,它会在运行窗口顶部显示位置:

/home/me/.clion10/system/cmake/generated/ad2f5c60/ad2f5c60/Debug/HelloCLion
Hello, World!

Process finished with exit code 0

您可以通过更改CMAKE_RUNTIME_OUTPUT_DIRECTORY来修改此位置:

set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "/home/me/ClionProjects/Binaries")

【讨论】:

  • 不适用于 clion-138.1965.18。它是硬编码的; igonring CMAKE_RUNTIME_OUTPUT_DIRECTORY ./home/js/Apps/clion-138.1965.18/bin/cmake/bin/cmake-x64 --build /home/js/.clion10/system/cmake/generated/37068b0b/37068b0b/Debug --目标 SomeProject -- -j 4
  • 为我工作 clion-138.1965.18。请注意,您必须删除并重新创建 运行配置,以便它选择更改。
  • 额外的好处是,它比依赖 IDE 执行此步骤更便携,并且更符合真正的 cmake 构建。
  • 请注意,如果您正在构建库,则必须使用变量 CMAKE_ARCHIVE_OUTPUT_DIRECTORY 或 CMAKE_LIBRARY_OUTPUT_DIRECTORY 代替
  • 请参阅stackoverflow.com/a/27547566/5025060 以获得更灵活的答案。
猜你喜欢
  • 2019-02-24
  • 2012-04-20
  • 1970-01-01
  • 1970-01-01
  • 2016-06-30
  • 2011-03-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多