问题标签 [clion]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1760 浏览

makefile - 如何停止 CMake 附加 C 编译器标志

我将旧样式的 makefile 转换为 CMake CMakeLists.txt 文件,以便可以将项目加载到 JetBrain 的新 CLion IDE 中。

我认为这很容易,但我被困在 CMake 将一些自定义编译器标志附加到导致编译错误的编译命令上。我没有足够的 CMake 知识来解决这个问题。

这是原始的makefile。

这是我对 CMakeLists.txt 文件的尝试。

这是生成的编译命令:

它可以工作,但最后自动附加的“-E”编译器标志是我不想要的。其他附加标志“-v”“-dD”和“-D___CIDR ...”也是不需要的,但不会像“-E”那样导致编译错误。如何关闭这些附加标志?

提前感谢您的帮助。

0 投票
2 回答
5801 浏览

cmake - 配置 CLion、Cmake 和 SFML 的问题

我目前正在尝试配置我的 Cmake 文件以包含 SFML 库。我的 CMakeLists.txt。如果这很重要,我正在使用 OS X Yosemite。

我目前得到的错误是

我的 FindSFML.cmake 位于

0 投票
1 回答
1034 浏览

clion - 在 CLion 中禁用头文件建议

我正在使用 JetBrains CLion IDE 在 Windows PC 上查看用于 Linux 构建的 C 源代码。CLion 一直建议我包含一些未定义符号的头文件,但我不想看到这些弹出建议。弹出窗口使代码难以阅读。

如何在 CLion 中禁用头文件建议?

0 投票
3 回答
1670 浏览

c++ - CMake 相当于 Visual Studio 的属性表 (.vsprops)

我正在尝试从 Visual Studio 迁移到 Jetbrains 的(很棒的)CLion IDE,它使用CMake来组织项目。

到目前为止,过渡一直很顺利:创建 CMake 项目并将它们导入 CLion 很容易,我可以在一个平台上开始编码,然后继续在另一个平台上毫无问题。

然而,我在 CMake 中找不到等效的 Visual Studio 的一个方面是属性表:我主要使用它们来保存包含目录的路径和库的链接库(即每个库一个文件,.vsprops例如OpenCV.vspropsBoost.vspropsETC。)。

这样,在 VS 中,我可以.vsprops在不同项目之间共享库文件,而无需每次都配置路径/库。

CMake 是否具有与 Visual Studio 的属性表类似的机制?如何将库的包含/库存储在CMake 可解析文件中,然后将其“导入”到 CMakeLists.txt 中以链接到库?

基本上,我想做的是:

  1. 为给定的库创建一个“cmake 属性表”(因为没有更好的名称)。
  2. 然后,在 CMakeLists.txt 中,编写类似link_target_to_libs(myTarget "path/to/propertySheet1" "path/to/propertySheet2" ...).
0 投票
1 回答
4512 浏览

c++ - 在 C++ 中使用 CMake (mingw) 在 C++ 中使用 CLion 的未定义 Qt5 引用

我正在尝试在新的CLion C/C++ IDE中使用 CMake 学习 Qt5,我对这些工具比较陌生。所以,我有这个真正简单的代码:main.cpp

我遵循了文档并以此结束CMakeLists.txt

经过数小时的尝试,我不断遇到以下undefined reference错误:

这是 CMake 正在执行的编译器命令:

我不知道这行在语法上是否正确,但图书馆D:\Qt\Qt5.4.0\5.4\msvc2012_opengl\lib\Qt5Widgetsd.lib存在......

我尝试过使用 Qt5.3.2 和 Qt 5.4.0。也许您知道添加链接库的其他方法,或者我犯了一个错误......

谢谢。

0 投票
3 回答
954 浏览

c++ - 使用 biicode 和 clion?

有没有一种简单的方法可以在使用 biicode 作为构造工具的 c++ 项目中使用 clion(例如调试)?

事实上,这两个系统都可以使用 cmake,但是 biicode 会生成 clion 似乎无法理解的 CMakeLists.txt(位于 blocks/ 中的那个,也不是位于 cmake/ 中的临时的)。

现在我只能使用 biicode 自行生成的 CMakeLists.txt 进行常规构建,并使用手工制作的 CMakeLists.txt 在 clion 中编译。然而,复制结构的描述听起来不是一个好主意。

我想可以完成一些精心制作的黑暗脚本(我对 cmake 很陌生),但我只是在玩,我认为这样做或要求它不值得。

有没有人尝试使用 clion 和 biicode ?clion 完全支持 cmake 了吗?biicode 是否使用完全符合 cmake 的工具无法理解的内部代码?我错过了一些愚蠢的想法吗?

0 投票
2 回答
24820 浏览

c++ - CLion 不解析来自外部库的标头

前段时间,我使用 XCode 在 C++1x 中创建了一个大型头库。库的当前布局是 () 类似于(部分输出ls -R sponf

我想将此项目移植到 CLion,这似乎是一个非常好的 IDE(基于类似的 AndroidStudio IDE),但我遇到了一些麻烦。

小测试程序

我尝试了这个小程序作为测试:

该程序编译并运行良好。但是,CLion 不识别spaces命名空间(在其中一个子文件中声明),也不识别命名simulations空间;它们都标记为红色,我无法检查它们的内容,也无法导航到它们的定义⌘</kbd>-clicking, etc. etc...

图书馆的相关部分

往里看,"sponf.h"我们发现

而在"sponf_children.h"(位于顶层,旁边"sponf.h")我们发现

然后,每个“子”标题将包含其对应的“祖先”或“类别”标题(它定义了“子”本身的超类)。

CLion的反应

尽管自动完成预测很容易找到所有子目录和头文件,但最后一个文件中的所有包含指令都被标记为红色和⌘</kbd>-clicking on any of them leads to a popup message

找不到要前往的声明

而编辑器的右侧功能区会发出许多错误信号,例如

',' 或 ) 预期

) 预期的

声明者预期

期待类型

失踪 ;

意外符号

每个包含语句都不相同(每个都生成 2 到所有这些错误)。

另一方面,CLion 完全能够找到Eigen具有几乎相同结构的所有标头!

我已将两个库都放入并进行了相应/opt/local/include更改CMakeLists.txt

为什么 CLion 不能正确解析项目结构?XCode,在包含/opt/local/include/sponf并包含/opt/local/include/eigen3HEADER_SEARCH_PATHSenv 中之后。项目的变量,能够在编译相同的确切程序时找到任何头文件。

还有什么我需要知道的吗?我做错了吗,还是 CLion 还没有那么成熟,这只是一个遗憾的错误?这是我第一次使用 CLion 和 CMake 工具链,因此任何有关它的信息都将不胜感激!

很抱歉这个很长的问题,我没有设法进一步缩小它......在此先感谢大家,很快再见!

0 投票
1 回答
422 浏览

c++ - 实际包含时未定义的符号。损坏的编译器/IDE?

我正在测试 CLion IDE,并且正在尝试编写一个最小的 C++ 程序。这是我的代码:

在 main.cpp 中:

在classings.h中:

在classings.cpp中:

我不知道为什么这会给我这个错误:

我在 OSX 10.10 上。

0 投票
2 回答
465 浏览

c++ - CMake 仅在重新加载时复制文件,而不是构建

我在 CLion IDE 中使用 CMake,在我的 CMakeLists.txt 中,我使用以下命令将一些资源文件复制到二进制目录中:

每当我在 CLion 中重新加载我的 CMake 项目时,这都有效。但是,每当我尝试构建时,都不会再次复制文件。我该如何解决?我使用了错误的命令吗?

0 投票
1 回答
1757 浏览

c++ - 更改资源文件后如何在 CLion 中构建 CMake

在 CLion 项目中,我需要将一些资源复制到二进制文件夹中。它们是 GLSL 着色器,所以当我编辑它们时,我希望能够看到结果。不幸的是,CLion 仅在源代码发生更改时重建项目,因此如果我编辑 GLSL 文件但保持源文件不变,CLion 不会重建,因此新文件不会被复制到二进制目录。我该如何解决?

这是我将文件移动到目标 OpenGL_Test 的二进制目录中的代码: