编译报错:
- 使用 'NVIDIA CUDA Compiler' 编译。
- 错误使用 mex
- C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.41.34120\include\yvals_core.h(888): error: static
- assertion failed with "error STL1002: Unexpected compiler version, expected CUDA 12.4 or newer."
- static_assert(false, "error " "STL1002" ": " "Unexpected compiler version, expected CUDA 12.4 or newer.");
- ^
- 1 error detected in the compilation of "C:/Users/JackZhai/Desktop/DEMproject/cudanew/fillMeshCuda.cu".
- fillMeshCuda.cu
解决方法:
前往C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.41.34120\include\yvals_core.h
找到
- #if defined(__CUDACC__) && defined(__CUDACC_VER_MAJOR__)
- #if __CUDACC_VER_MAJOR__ < 12 || (__CUDACC_VER_MAJOR__ == 12 && __CUDACC_VER_MINOR__ < 4)
- _EMIT_STL_ERROR(STL1002, "Unexpected compiler version, expected CUDA 12.4 or newer.");
- #endif
改为
- #ifndef _ALLOW_COMPILER_AND_STL_VERSION_MISMATCH
- #if defined(__CUDACC__) && defined(__CUDACC_VER_MAJOR__)
- #if __CUDACC_VER_MAJOR__ < 10 || (__CUDACC_VER_MAJOR__ == 10 && __CUDACC_VER_MINOR__ < 1)
- _EMIT_STL_ERROR(STL1002, "Unexpected compiler version, expected CUDA 12.4 or newer.");
- #endif // ^^^ old CUDA ^^^
再次编译即可成功
评论记录:
回复评论: