码迷,mamicode.com
首页 > 其他好文 > 详细

'noinline' was not declared

时间:2015-06-23 21:48:03      阅读:107      评论:0      收藏:0      [点我收藏+]

标签:cuda   c   

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

标签:cuda   c   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!