作者:总会有办法的 | 来源:互联网 | 2024-11-17 14:27
在构建 Caffe 时,你可能会遇到以下三个链接错误:
1. error LNK2001: 无法解析的外部符号 "__int64 google::protobuf::internal::empty_string_once_init_" (?empty_string_once_init_@internal@protobuf@google@@3_JA) D:\VS_PROJECT\caffe\caffe\caffe.pb.obj
2. error LNK2001: 无法解析的外部符号 "class std::basic_string,class std::allocator> const * const google::protobuf::internal::empty_string_" (?empty_string_@internal@protobuf@google@@3PEBVbasic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@EB) D:\VS_PROJECT\caffe\caffe\data_reader.obj
3. error LNK2001: 无法解析的外部符号 "private: static int google::protobuf::io::CodedInputStream::default_recursion_limit_" (?default_recursion_limit_@CodedInputStream@io@protobuf@google@@0HA) D:\VS_PROJECT\caffe\caffe\io.obj
这些错误通常是因为你使用的 Protobuf 版本与 Caffe 不兼容。Caffe 对 Protobuf 的版本有特定的要求,使用最新版本的 Protobuf 可能会导致这些问题。
解决方法是将 Protobuf 的版本降级到与 Caffe 兼容的版本。推荐使用 protobuf-2.5.0 版本。你可以从以下地址下载:http://pan.baidu.com/s/1pJlZubT。
安装旧版本的 Protobuf 后,重新配置并构建 Caffe,这些链接错误应该会消失。