我正在使用Clion开发一个cuda程序。当扩展为.h时,代码突出显示可以正常工作。但是,当它被更改为.cuh时,Clion只是将新文件视为纯文本文件,而我还无法启用代码高亮显示。我知道一个完整的Cuda工具链是不可能的,所以我不希望Clion解析像mykernel<<<1024,100>>>这样的语句。不过,如果它能像解析普通的头/cpp文件一样解析该文件,我将非常满意。
非常感谢
发布于 2018-02-04 19:52:17
我发现clion似乎对所有构建目标都进行了编码索引,而不仅仅是选择要构建的目标。我的策略是使.cpp符号链接从我的.cu文件中,并使子been /cmake c++构建目标(仅用于索引)引用那些.cpp链接。这一方法似乎是在UNbuntu16.04.3的clion 2017.3.3中的小型cuda/ projects c++11项目上工作。
我这样做是通过:
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})
add_subdirectory(clionShadow)
现在,clion解析和代码索引.cu文件“通过”.cpp文件。
记住,cudaNoBuild目标不是用于构建的-它将使用无法工作的c++工具链。如果突然出现编译错误,请检查clion的构建目标设置--我注意到它有时会混合和匹配项目之间的当前构建设置。在本例中,转到Run菜单下的Edit_Configurations对话框,并确保target_executable没有更改为来自cudaNoBuild目标。
编辑: Gah!在更新Clien2017.3.3之后重新构建CMake和ide缓存时,事情已经不像以前那样工作了。索引只适用于.cpp文件,断点仅适用于.cu文件。
https://stackoverflow.com/questions/39980645
复制相似问题