覆盖错误和更宽松的抛出说明符错误

时间:2018-05-27 02:59:20

标签: c++ caffe

在编译与caffe相关的代码时,我遇到了更宽松的抛出说明符错误覆盖错误。我不知道 这两种错误是什么,为什么它们一起出现,如何来修复它们。这是我的错误日志:

  

/usr/local/include/boost/system/error_code.hpp:233:21:错误:'void const char *的looser throw说明符   boost :: system :: error_category :: std_category :: name()const'
        virtual const char * name()const BOOST_NOEXCEPT

           ^ 
     

/ usr / include / c ++ / 4.9 / system_error:81:21:错误:覆盖'virtual const char * std :: error_category :: name()const   noexcept”

     

name()const noexcept = 0;

              ^

这是编译脚本:

#!/bin/sh

source=deep_image_analogy/source

nvcc $source/*.cpp $source/*.cu -o demo \
        -std=c++11 \
        -I./include \
        -L./build/lib \
        -lopencv_core \
        -lopencv_highgui \
        -lopencv_imgproc \
        -lboost_system \
        -lcublas \
        -lcaffe \
        -lglog

谢谢!

1 个答案:

答案 0 :(得分:-1)

在Ubuntu 17.10 + CUDA 8 + GCC 5上编译Deep Image Analogy时遇到了相同的问题,我终于找到了解决方案。这张加价票帮助我解决了以下问题:#13049

您应该查找boost nvcc.hpp配置文件(在我的系统中,它位于/usr/local/include/boost/config/compiler/nvcc.hpp),然后添加以下行:

#define DBOOST_NO_CXX11_NOEXCEPT

实际上在该配置文件上有一个对#13049票证的引用(第50行)。希望这会有所帮助!