对CLion而不是CMake使用本地makefile
有没有办法将CLion配置为使用本地makefile而不是CMake来编译代码?我似乎无法从构建选项中找到实现它的方法 目前,CLion只支持CMake。其他构建系统将在将来添加,但目前,您只能使用CMake 导入器工具已实现以帮助您使用CMake 编辑:对CLion而不是CMake使用本地makefile,makefile,clion,Makefile,Clion,有没有办法将CLion配置为使用本地makefile而不是CMake来编译代码?我似乎无法从构建选项中找到实现它的方法 目前,CLion只支持CMake。其他构建系统将在将来添加,但目前,您只能使用CMake 导入器工具已实现以帮助您使用CMake 编辑: 来源:更新:如果您使用的是CLion 2020.2,那么它已经支持Makefiles。如果您使用的是旧版本,请继续阅读 即使当前只支持CMake,您也可以指示CMake使用自定义的Makefile调用make。编辑CMakeLists.tx
来源:更新:如果您使用的是CLion 2020.2,那么它已经支持Makefiles。如果您使用的是旧版本,请继续阅读
即使当前只支持CMake,您也可以指示CMake使用自定义的
Makefile
调用make
。编辑CMakeLists.txt
添加以下两个命令之一:
CLion
运行您的程序时,它将尝试在PROJECT\u BINARY\u DIR
指向的目录中找到与目标同名的可执行文件。因此,只要您的make
在CLion
期望的位置生成文件,就不会有问题
以下是一个工作示例:
告诉CLion
将其$(PROJECT\u BINARY\u 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})
告诉make在CLion的
目录中生成可执行文件
这是示例Makefile
:
all:
echo Compiling $(CLION_EXE_DIR)/$@ ...
g++ mytest.cpp -o $(CLION_EXE_DIR)/mytest
也就是说,您可能还需要更改程序的工作目录,以便在目录中运行make时,它可以按原样执行。对于此编辑:
Run->edit Configurations…->mytest->Working directory
我对CMake不是很熟悉,无法直接使用Mondkin的解决方案
下面是我在我的CMakeLists.txt中使用最新版本的CLion(1.2.4)和Windows上的MinGW(我想您只需要替换所有:
g++mytest.cpp-o bin/mytest by make(如果未使用相同的设置):
自定义Makefile如下所示(它位于我的项目的根目录中,并在bin目录中生成可执行文件):
我能够构建可执行文件,并且可以单击日志窗口中的错误
IDE中的提示非常有限,与纯CMake项目相比,这是一个很大的限制…虽然这是投票最多的项目之一,但有一个可用的,通过添加对makefiles的支持: 安装 您可以直接从官方存储库安装: 设置>插件>搜索
makefile
>在存储库中搜索>安装>重新启动
使用
至少有三种不同的运行方式:
它将打开一个名为“运行目标”的窗格,其中包含输出。要完全避免使用CMAKE,您只需:
Run->Edit Configurations->yourProjectFolder
可执行文件更改为使用Make生成的文件
工作目录
更改为存放可执行文件的文件夹(如果需要)生成
任务你们都准备好了!现在,您可以在手动构建之后使用调试按钮。最新版本通过compiledb更好地支持任何生成的Makefiles
pip install compiledb
三个步骤:
pip install compiledb
compiledb -n make
(进行自动生成,必要时进行配置)原始帖子:看到这篇帖子已经发布一个月了,这是唯一的回应,我确信你是正确的,不幸的是……深入挖掘评论的来源,我发现:如果你不想使用cmake怎么办?我还没有尝试过你的上述建议,但是如果我这样做的话,我能在CLion中执行我的C/C++程序吗?(这将使调试过程更加容易。)我验证了@Mondkin的解决方案是有效的。如果在修改
Makefile
和CMakeLists.txt
后生成项目时遇到问题,请尝试修改*.cpp
文件。这将使CLion从头开始构建一切。这是可行的,但当我尝试向配置中添加“make clean”时失败了。仅供参考,为了让这项功能正常工作,至少在某些项目上(例如redis),您必须添加一个“ALL”,使其成为:add_custom_target(mytest ALL命令make-C${mytest_SOURCE_DIR}CLion_EXE_DIR=${PROJECT_BINARY_DIR})我应该做些什么改变以使其与gcc for CTH一起工作?这对我来说很有用。我能够让CLion将我的源文件都包含在我的集合(source\u files all\u files\u here.c)
中,然后在自定义目标之外添加add\u可执行文件(foobar\u cmake${source\u files})
,从而识别出我的源文件是“活动的”。然后只需确保CLion设置为构建/运行您的自定义目标,而不是_cmake。只需一个headup,如果您走这条路线,请确保进入设置->make,并确保将插件指向make的安装目录。默认情况下,它在/usr/bin/makeI中显示。我尝试了您的方法,但这只提供了构建项目的机会,对吗?我无法运行一个bui的应用程序
compiledb -n make