问题描述
我有一个已经描述过的问题here,但是我正在使用cmake 3.18.0 。
在我的<controls:DataGridTemplateColumn Header="Check">
<controls:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<CheckBox Content="{Binding Id}" IsChecked="{Binding IsCheck}" />
</StackPanel>
</DataTemplate>
</controls:DataGridTemplateColumn.CellTemplate>
</controls:DataGridTemplateColumn>
文件中,以下几行用于启用正确的 c ++ 标准:
CMakeLists.txt
但是我仍然收到以下错误消息:set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
set(CMAKE_CUDA_STANDARD 17)
set(CMAKE_CUDA_STANDARD_REQUIRED ON)
set(CMAKE_CUDA_EXTENSIONS OFF)
set(CMAKE_CUDA_ARCHITECTURES OFF)
set(CMAKE_CUDA_SEPARABLE_COMPILATION ON)
set(CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES ON)
。我准备了一个small github project,它的结构与我的真实项目很接近。
错误消息:
error : namespace "std" has no member "filesystem"
详细错误消息:
[main] Building folder: cuda-test
[build] Starting build
[proc] Executing command: "C:\Program Files\CMake\bin\cmake.EXE" --build c:/Projects/C++/cuda-test/build --config Debug --target ALL_BUILD -- /maxcpucount:10
[build] Microsoft (R) Build Engine version 16.6.0+5ff7b0c9e for .NET Framework
[build] Copyright (C) Microsoft Corporation. All rights reserved.
[build]
[build] test.cpp
[build] test_library.vcxproj -> C:\Projects\C++\cuda-test\build\test_library\Debug\test_library.lib
[build] Compiling CUDA source file ..\..\test_prog\src\test.cu...
[build]
[build] C:\Projects\C++\cuda-test\build\test_prog>"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\bin\nvcc.exe" -gencode=arch=compute_52,code=\"sm_52,compute_52\" --use-local-env -ccbin "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\bin\HostX64\x64" -x cu -rdc=true -I"C:\Projects\C++\cuda-test\test_library\src" -I"C:\Projects\C++\cuda-test\test_library\include" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\include" --keep-dir x64\Debug -maxrregcount=0 --machine 64 --compile -cudart static -Xcompiler="/EHsc -Zi -Ob0" -g -D_WINDOWS -D"CMAKE_INTDIR=\"Debug\"" -DWIN32 -D_WINDOWS -D"CMAKE_INTDIR=\"Debug\"" -D_MBCS -Xcompiler "/EHsc /W1 /nologo /Od /Fdtest_prog.dir\Debug\vc142.pdb /FS /Zi /RTC1 /MDd /GR" -o test_prog.dir\Debug\test.obj "C:\Projects\C++\cuda-test\test_prog\src\test.cu"
[build] C:\Projects\C++\cuda-test\test_library\include\utils/fs.h(6): error : namespace "std" has no member "filesystem" [C:\Projects\C++\cuda-test\build\test_prog\test_prog.vcxproj]
[build]
[build] 1 error detected in the compilation of "C:/Projects/C++/cuda-test/test_prog/src/test.cu".
[build] test.cu
[build] C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\BuildCustomizations\CUDA 11.0.targets(772,9): error MSB3721: The command ""C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\bin\nvcc.exe" -gencode=arch=compute_52,compute_52\" --use-local-env -ccbin "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\bin\HostX64\x64" -x cu -rdc=true -I"C:\Projects\C++\cuda-test\test_library\src" -I"C:\Projects\C++\cuda-test\test_library\include" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\include" --keep-dir x64\Debug -maxrregcount=0 --machine 64 --compile -cudart static -Xcompiler="/EHsc -Zi -Ob0" -g -D_WINDOWS -D"CMAKE_INTDIR=\"Debug\"" -DWIN32 -D_WINDOWS -D"CMAKE_INTDIR=\"Debug\"" -D_MBCS -Xcompiler "/EHsc /W1 /nologo /Od /Fdtest_prog.dir\Debug\vc142.pdb /FS /Zi /RTC1 /MDd /GR" -o test_prog.dir\Debug\test.obj "C:\Projects\C++\cuda-test\test_prog\src\test.cu"" exited with code 1. [C:\Projects\C++\cuda-test\build\test_prog\test_prog.vcxproj]
[build] Build finished with exit code 1