当前位置: 代码迷 >> 综合 >> nvcc fatal : redefinition of argument 'std'
  详细解决方案

nvcc fatal : redefinition of argument 'std'

热度:84   发布时间:2023-12-12 00:40:00.0

如题,近日在cmake编译一个依赖Dlib的程序时报错nvcc fatal : redefinition of argument 'std'
检索发现一个解释的比较靠谱的回答,简单总结如下:

  1. 主要原因:
    CUDA_NVCC_FLAGS的编译参数中重复出现-std=c++11
  2. 解决办法:
    找到dlib-19.x/dlib/CMakeLists.txt文件中list(APPEND CUDA_NVCC_FLAGS "-std=c++11"),注释掉这一行,编译通过。
  3. 思考:
    作者在其博客提到说是由于cmake版本新旧导致,可我在两个不同程序(均依赖Dlib)编译时用的同一版本的cmake,也一样是一个通过一个不通过。应该还是其他地方引入了-std=c++11,导致的重复。
  相关解决方案