nvcc fatal : redefinition of argument 'std'

如題,近日在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,導致的重複。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章