编译caffe时遇到的undefined reference to的问题

在Ubuntu 16.04上编译Caffe时遇到`google::protobuf::Message::InitializationErrorString()`和`cv::imread`的undefined reference问题。解决方法包括:升级protobuf到2.6.1并修改bash路径,检查GCC版本确保高于5.0,更新并配置opencv到3.0以上版本,通过ccmake修改OpenCV的库路径。经过这些步骤,编译成功。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在ubantu16.04版本的linux系统中编译caffe时遇到两个undefined reference to的路径问题,在尝试多个方法后,总结解决方法:

1.undefined reference to `google::protobuf::Message::InitializationErrorString() const'  即:

方法一:caffe的预装软件protobuff版本冲突,默认的protoc版本为protoc-2.5.0,需要升级为protoc-2.6.1,并且在bash中加入路径。(可以使用protoc --version查看版本)

方法二:若在升级protobuf版本后仍出现该错误,需要更改gcc版本。首先gcc --version查看gcc版本,再到/usr/local/cuda/include$中的host_config.h文件第119行,如下:


可见需要gcc版本高于5.0,更新gcc版本或建立高版本软链接。


2.undefined reference to `cv::imread(std::string const&,int)' 即包含&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值