首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >启用Clion中的Cuda代码索引

启用Clion中的Cuda代码索引
EN

Stack Overflow用户
提问于 2016-10-11 15:13:20
回答 7查看 14.6K关注 0票数 9

我正在使用Clion开发一个cuda程序。当扩展为.h时,代码突出显示可以正常工作。但是,当它被更改为.cuh时,Clion只是将新文件视为纯文本文件,而我还无法启用代码高亮显示。我知道一个完整的Cuda工具链是不可能的,所以我不希望Clion解析像mykernel<<<1024,100>>>这样的语句。不过,如果它能像解析普通的头/cpp文件一样解析该文件,我将非常满意。

非常感谢

EN

Stack Overflow用户

发布于 2018-02-04 19:52:17

我发现clion似乎对所有构建目标都进行了编码索引,而不仅仅是选择要构建的目标。我的策略是使.cpp符号链接从我的.cu文件中,并使子been /cmake c++构建目标(仅用于索引)引用那些.cpp链接。这一方法似乎是在UNbuntu16.04.3的clion 2017.3.3中的小型cuda/ projects c++11项目上工作。

我这样做是通过:

  • 向clion注册. .cu/cuh文件,如其他答案所示
  • 将cuda/clion宏巫毒添加到我的.cu文件中,就像在其他答案中一样(巫毒的位置可能很重要,但我还没有遇到任何麻烦)
  • 使..cpp/..hpp符号链接到项目目录中的..cu/..cuh文件。
  • 使用一个名为clionShadow/CMakeLists.txt的文件创建一个新文件夹,其中包含:

Cmake_minimum_required(Version3.9) project(cudaNoBuild) set(CMAKE_CXX_STANDARD 11) add_executable(cudaNoBuild ./yourcudacde.cpp./yourcudacde.hpp) target_include_directories(cudaNoBuild PUBLIC ${CUDA_INCLUDE_DIRS})

  • 在主CMakeLists.txt的末尾添加一个依赖项到clionShadow/CMakeLists.txt,行如下所示:

add_subdirectory(clionShadow)

现在,clion解析和代码索引.cu文件“通过”.cpp文件。

记住,cudaNoBuild目标不是用于构建的-它将使用无法工作的c++工具链。如果突然出现编译错误,请检查clion的构建目标设置--我注意到它有时会混合和匹配项目之间的当前构建设置。在本例中,转到Run菜单下的Edit_Configurations对话框,并确保target_executable没有更改为来自cudaNoBuild目标。

编辑: Gah!在更新Clien2017.3.3之后重新构建CMake和ide缓存时,事情已经不像以前那样工作了。索引只适用于.cpp文件,断点仅适用于.cu文件。

票数 0
EN
查看全部 7 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39980645

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档