首页 > 其他 > 详细

'noinline' was not declared

时间:2015-06-23 21:46:11      阅读:304      评论:0      收藏:0      [点我收藏+]

CUDA 5.5, boost 1.55, 更新 caffe 时出现:
/boost_1_55_0/boost/assert.hpp:102: error: ?.oinline?.was not declared in this scope

查看/boost/assert.hpp 中 第102行是
BOOST_NOINLINE void assertion_failed_msg(CharT const * expr, char const * msg, char const * function,
所以上面的错误应该是
/boost_1_55_0/boost/assert.hpp:102: error: boost_noinline was not declared in this scope

Google后发现需要添加如下信息:
CUDA_FLAGS_COMMON=-use_fast_math -DBOOST_NOINLINE=‘__attribute__ ((noinline))‘

于是,在 Makefile.config 文件中添加下面这行:
CUDA_FLAGS_COMMON=-use_fast_math -DBOOST_NOINLINE=‘__attribute__ ((noinline))‘

然后在 makefile 文件中将上面定义的CUDA_FLAGS_COMMON 添加到 NVCCFLAGS :
NVCCFLAGS += -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)
改为
NVCCFLAGS += -ccbin=$(CXX) -Xcompiler -fPIC $(CUDA_FLAGS_COMMON) $(COMMON_FLAGS)

也可以不改Makefile.config 文件,直接在 makefile 中添加:
NVCCFLAGS += -ccbin=$(CXX) -Xcompiler -fPIC -DBOOST_NOINLINE=‘__attribute__ ((noinline))‘ $(COMMON_FLAGS)

                                   ------- 记录备忘。

'noinline' was not declared

原文:http://blog.csdn.net/anxiaoxi45/article/details/46608545

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!