Answers:
更新:如果您正在使用CLion 2020.2,则它已经支持Makefile。如果您使用的是旧版本,请继续阅读。
即使当前仅支持CMake,您也可以指示CMake make
使用您的custom 进行调用Makefile
。编辑您CMakeLists.txt
添加的以下两个命令之一:
当您告诉CLion
您运行程序时,它将尝试在指向的目录中找到与目标名称相同的可执行文件PROJECT_BINARY_DIR
。因此,只要您make
按CLion
预期生成文件,就不会有问题。
这是一个工作示例:
CLion
将其$(PROJECT_BINARY_DIR)传递给make
这是示例CMakeLists.txt
:
cmake_minimum_required(VERSION 2.8.4)
project(mytest)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
add_custom_target(mytest COMMAND make -C ${mytest_SOURCE_DIR}
CLION_EXE_DIR=${PROJECT_BINARY_DIR})
CLion's
目录中生成可执行文件这是示例Makefile
:
all:
echo Compiling $(CLION_EXE_DIR)/$@ ...
g++ mytest.cpp -o $(CLION_EXE_DIR)/mytest
就是这样,您可能还想更改程序的工作目录,以便在您从目录内部运行make时按原样执行。对于此编辑:Run -> Edit Configurations ... -> mytest -> Working directory
Makefile
和之后无法构建项目CMakeLists.txt
,请尝试修改*.cpp
文件。这将使CLion从头开始构建所有内容。
虽然这是最受好评的功能请求之一,但是有一个由Victor Kropp提供的插件可以为makefile添加支持:
您可以直接从官方存储库安装:
设置>插件>搜索makefile
>在存储库中搜索>安装>重新启动
至少有三种不同的运行方式:
它将打开一个名为Run target的窗格,并显示输出。
binary
在<default>上运行”
最新版本可通过compiletedb从字面上更好地支持所有生成的Makefile
三个步骤:
安装compiledb
pip install compiledb
干干
compiledb -n make
(执行自动生成,根据需要进行配置)
将在项目中生成一个compile_commands.json文件,您将看到CLion将从json文件中加载信息。如果您的CLion仍然尝试找到CMakeLists.txt而无法读取compile_commands.json,请尝试删除整个文件夹,重新下载源文件,然后重做步骤1,2,3
为了完全避免使用CMAKE,您可以:
通常,通过终端使用Make来构建项目。
更改您的CLion配置,转到(在顶部栏中):
Run -> Edit Configurations -> yourProjectFolder
将更Executable
改为使用Make生成的
将更Working directory
改为保存可执行文件的文件夹(如果需要)
删除框中的Build
任务Before launch:Activate tool window
一切准备就绪!现在,您可以在手动构建后使用调试按钮。
当前,CLion仅支持CMake。将来会添加其他构建系统,但是目前,您只能使用CMake。
导入器工具已实现,可帮助您使用CMake。
编辑:
资料来源:http : //blog.jetbrains.com/clion/2014/09/clion-answers-frequently-asked-questions/
我对CMake不太熟悉,无法直接使用Mondkin的解决方案。
这是我使用最新版本的CLion(1.2.4)和Windows上的MinGW在CMakeLists.txt中想到的(我想您只需要替换所有内容即可:g ++ mytest.cpp -o bin / mytest用make if您没有使用相同的设置):
cmake_minimum_required(VERSION 3.3)
project(mytest)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
add_custom_target(mytest ALL COMMAND mingw32-make WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
自定义的Makefile就是这样(它位于我项目的根目录下,并在bin目录中生成可执行文件):
all:
g++ mytest.cpp -o bin/mytest
我能够生成可执行文件,并且可以单击日志窗口中的错误。
IDE中的提示非常有限,与纯CMake项目相比,这是一个很大的限制...
set(SOURCE_FILES all_files_here.c)
,然后再添add_executable(foobar_cmake ${SOURCE_FILES})
加到自定义目标中,我可以让CLion识别我的源文件为“活动”文件。然后只需确保将CLion设置为构建/运行您的自定义目标,而不是_cmake一个。