使用Cmake和Qt Creator

问题描述 投票:21回答:5

我想一起使用Qt creatorCmake(请不要问我关于我的动机,接受这个作为给定。)

我成功地设置Qt创建者使用cmake“Cmake”:请参阅thisthisthis文档,了解我是如何做到这一点的。

我成功创建了hello world项目,但我无法在项目中创建文件,只将现有文件添加到项目树中,之后将其添加到cmake列表中。 Qt创建者“添加新...”的标准操作不起作用,我找不到原因。

有没有人一起使用Qt创作者和“Cmake”?这种组合实际上是否可行?

注意:我正在使用Qt creator v2.4.1。

c++ ide cmake qt-creator
5个回答
14
投票

您可以在CMakeLists.txt中使用glob表达式添加文件,如下所示:

file(GLOB SRC . *.cpp)
add_executable (your_exe_name ${SRC})

Cmake将在您下次运行时选择新的cpp文件,QtCreator将在项目浏览器中显示它们。

更新

这个解决方案可能很有用,但正如评论中所述 - 这不是一个好习惯。每当有人添加新的源文件并提交更改时,您需要重新运行cmake来构建所有源。通常我只是touch其中一个CMakeLists.txt文件,如果我的存储库中的最近更改后我的构建中断了。之后,make将自动运行cmake,我不需要用手操作它。尽管如此,我认为CMakeLists.txt中的显式源列表是一件好事,他们称之为CMake Lists是有原因的。


10
投票

当您使用“新建文件或项目...”对话框在QtCreator中添加新文件时,它只会在磁盘上创建文件,它不会自动将文件添加到CMakeLists.txt。您需要通过编辑CMakeLists.txt文件手动完成此操作。

下次构建项目时,将重新运行CMake,QtCreator将获取新文件并在项目浏览器中显示它们。


5
投票

我解决了这个问题,我以标准方式添加了新文件(CTRL + N),然后在CMakeLists中添加了所需的文件。之后,右键单击项目树视图中的项目,然后选择Run CMake选项。在此之后,文件显示在项目列表树中。只有建设是不够的。


2
投票

我在这里测试并发生了同样的行为,因为你问的那些选项真的被禁用了。

使用文件 - >“新建文件或项目...”或CTRL + N添加新文件,然后添加到CMakeLists.txt


1
投票

我正在为更新版本的QtCreator(4.x)添加更新的答案。在“工具”>“选项...”菜单中,选择“构建和运行”部分,然后选择“CMake”选项卡。您将看到“添加文件”设置,您可以将其设置为“复制文件路径”。

这样,当您想要向项目添加新文件时,在项目视图中,右键单击所需的CMake可执行文件/库的名称,然后选择添加新...,浏览添加对话框,以及何时验证在对话框中,QtCreator将在Editor视图中打开CMakeLists.txt。最后,将剪贴板的内容粘贴到相应源文件列表的末尾,并保存CMakeLists.txt。将解析CMake项目,您的新文件将显示在项目视图中。

© www.soinside.com 2019 - 2024. All rights reserved.