解决错误undefined reference to `cv::imread(cv::String const&, int)'

今天在github上面发现了如下可生成语义分割的label工具,克隆源码下来编译的时候出错了


git clone https://github.com/XingangPan/seg_label_generate.git

cd seg_label_generate

make

错误如下:


build/src/seg_label_generator.o: In function `SegLabelGenerator::showLabels(std::__cxx11::basic_string, std::allocator> const&, int, int)':seg_label_generator.cpp:(.text+0x2150): undefined reference to `cv::imread(cv::String const&, int)'seg_label_generator.cpp:(.text+0x2196): undefined reference to `cv::imread(cv::String const&, int)'seg_label_generator.cpp:(.text+0x23e3): undefined reference to `cv::line(cv::_InputOutputArray const&, cv::Point_, cv::Point_, cv::Scalar_const&, int, int, int)'seg_label_generator.cpp:(.text+0x2596): undefined reference to `cv::circle(cv::_InputOutputArray const&, cv::Point_, int, cv::Scalar_const&, int, int, int)'seg_label_generator.cpp:(.text+0x26e0): undefined reference to `cv::circle(cv::_InputOutputArray const&, cv::Point_, int, cv::Scalar_const&, int, int, int)'seg_label_generator.cpp:(.text+0x2a82): undefined reference to `cv::line(cv::_InputOutputArray const&, cv::Point_, cv::Point_, cv::Scalar_const&, int, int, int)'seg_label_generator.cpp:(.text+0x2bc0): undefined reference to `cv::imshow(cv::String const&, cv::_InputArray const&)'build/src/seg_label_generator.o: In function `SegLabelGenerator::outputimLabels(std::__cxx11::basic_string, std::allocator> const&, std::__cxx11::basic_string, std::allocator> const&, int, bool)':seg_label_generator.cpp:(.text+0x3335): undefined reference to `cv::line(cv::_InputOutputArray const&, cv::Point_, cv::Point_, cv::Scalar_const&, int, int, int)'seg_label_generator.cpp:(.text+0x3413): undefined reference to `cv::line(cv::_InputOutputArray const&, cv::Point_, cv::Point_, cv::Scalar_const&, int, int, int)'seg_label_generator.cpp:(.text+0x3809): undefined reference to `cv::imwrite(cv::String const&, cv::_InputArray const&, std::vector> const&)'build/src/seg_label_generator.o: In function `cv::String::~String()':seg_label_generator.cpp:(.text._ZN2cv6StringD2Ev[_ZN2cv6StringD5Ev]+0x14): undefined reference to `cv::String::deallocate()'build/src/seg_label_generator.o: In function `cv::String::String(std::__cxx11::basic_string, std::allocator > const&)':

seg_label_generator.cpp:(.text._ZN2cv6StringC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN2cv6StringC5ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE]+0x70): undefined reference to `cv::String::allocate(unsigned long)'

build/src/main.o: In function `SegLabelGenerator::SegLabelGenerator()':

main.cpp:(.text._ZN17SegLabelGeneratorC2Ev[_ZN17SegLabelGeneratorC5Ev]+0x1c1): undefined reference to `cv::namedWindow(cv::String const&, int)'

collect2: error: ld returned 1 exit status

Makefile:44: recipe for target 'seg_label_generate' failed

make: *** [seg_label_generate] Error 1

  • 解决的方法:

修改Makefile文件


CXXFLAGS := -std=C++11 -fopenmp `pkg-config --cflag opencv`

LIBS=`pkg-config --libs opencv`

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,132评论 25 709
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,323评论 19 139
  • 离开故乡十多年了,每年候鸟一样的偶尔归巢,除了父母的日益衰老带来的心底的隐隐不安,仍混杂了很多复杂的情愫… ...
    苏木么若阅读 682评论 0 0
  • 才旺郎君阅读 1,137评论 0 0