我有一个CLion C++项目,具有以下结构:
project
---->my_includes
| ----> my_own.hpp
---->source
----> my_app
----> my_src.cpp
Run Code Online (Sandbox Code Playgroud)
my_src.cpp的第一行是
#include "my_includes/my_own.hpp"
Run Code Online (Sandbox Code Playgroud)
我使用需要这种包含格式的外部构建系统.问题是如果我在包含的头文件中定义的源文件中使用了一个函数,如果我试图将鼠标悬停在包含内,则CLion会说"找不到my_own.hpp".
我尝试将include目录标记为包含Project Source或Headers,但这并没有解决它.有任何想法吗?
mar*_*o.m 22
你需要CMakeLists.txt为CLION 创建一个快乐的人.声明所有源文件就足够了,您不必将scons(或任何其他构建系统)转换为cmake.
您甚至不必手动编写CMakeLists.txt,您可以请求CLion执行此操作:File | New CMake Project from Sources...然后指向包含项目的目录.
现在编辑生成File | Import project ... |并添加一个cmake命令告诉CLion在哪里找到包含(实际告诉编译器,CLion将重用该信息).
由于您的源文件使用include as CMakeLists.txt,您需要告诉cmake包含目录的基目录#include "my_includes/my_own.hpp":
include_directories(.)
Run Code Online (Sandbox Code Playgroud)
其中dot表示与包含该目录的目录相同的目录my_includes.
我测试了一个项目再现你的布局,CMakeLists.txt我可以导航到my_src.cpp.
然后要构建你仍然必须在控制台中使用scons.也可以添加一个cmake命令,my_own.hpp它将调用你的scons(或你的make,或其他),这样你也可以从CLion导航到构建错误.
| 归档时间: |
|
| 查看次数: |
20032 次 |
| 最近记录: |