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

问题描述 投票:0回答:1

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

/usr/local/include/boost/system/error_code.hpp:233:21:error:looser throw说明符'virtual const char * 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

谢谢!

c++ caffe
1个回答
-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行)。希望这可以帮助!

© www.soinside.com 2019 - 2024. All rights reserved.