在Visual Studio C+上使用CUDA编译错误CMAKE+; 我在VS2017 C++中用CUDA编写了一个问题。p>
我可以通过更改中的行来消除此错误 属性->CUDA C/C++->命令行->其他选项:在Visual Studio C+上使用CUDA编译错误CMAKE+; 我在VS2017 C++中用CUDA编写了一个问题。p>,c++,cmake,compiler-errors,cuda,visual-studio-2017,C++,Cmake,Compiler Errors,Cuda,Visual Studio 2017,我可以通过更改中的行来消除此错误 属性->CUDA C/C++->命令行->其他选项: %(AdditionalOptions) -Zi /W3 /wd4005 /wd4003 /wd4996 /nologo -Xcompiler="/EHsc -Zi -Ob0" 改为 更改此选项后,项目编译时不会出现任何错误 我的问题是,如何从CMAKE执行此操作,以便不必每次重新生成项目时都更改此属性?您的.sln文件是从CMAKE生成的。您可以使用cmake-gui.exe加载cmake缓存文件和查
%(AdditionalOptions) -Zi /W3 /wd4005 /wd4003 /wd4996 /nologo -Xcompiler="/EHsc -Zi -Ob0"
改为
更改此选项后,项目编译时不会出现任何错误
我的问题是,如何从CMAKE执行此操作,以便不必每次重新生成项目时都更改此属性?您的.sln文件是从CMAKE生成的。您可以使用cmake-gui.exe加载cmake缓存文件和查询字符串,然后在CMakeLists.txt中覆盖该字符串 对于您的情况,您希望删除恼人的“/W3/wd4005/wd4003/wd4996/nologo”选项。您可以这样做: 在这里,我打开cmake-gui.exe,输入项目的源文件夹和构建文件夹,在搜索框中键入“w3”,并获取“cmake_C_标志”。因此,您可以覆盖CMakeLists.txt中的“CMAKE_C_标志”:
set(CMAKE_C_FLAGS "") # set it to empty
# you may also replace some options inside it, go and query cmake docs to see how to do that
然后,清理所有先前生成的构建文件并重新生成 您没有显示错误的实际内容,也没有显示产生错误的Cmake文件,并且您发布的图像对下一个尝试搜索的人完全没有帮助,因为他们无法搜索。如果你需要帮助,请把这些东西修好。
set(CMAKE_C_FLAGS "") # set it to empty
# you may also replace some options inside it, go and query cmake docs to see how to do that