【问题标题】:g++ command with custom compiled opencv library带有自定义编译的 opencv 库的 g++ 命令
【发布时间】:2018-06-29 21:47:49
【问题描述】:

我正在使用自定义编译的 opencv 库编译代码。所以我不能使用“pkg-config --cflags --libs opencv”来完成这项工作。

库结构:

/c/Users/kmes40505/Desktop/programming/library/opencv/include
/c/Users/kmes40505/Desktop/programming/library/opencv/x64/vc14/lib
/c/Users/kmes40505/Desktop/programming/library/opencv/x64/vc14/bin

我试过的g++命令:

g++ test.cpp -I/c/Users/kmes40505/Desktop/programming/library/opencv/include -L/c/Users/kmes40505/Desktop/programming/library/opencv/x64/vc14/lib -lopencv_calib3d -lopencv_calib3dd -lopencv_contrib -lopencv_contribd -lopencv_core -lopencv_cored -lopencv_features2d -lopencv_features2dd -lopencv_flann -lopencv_flannd -lopencv_gpu -lopencv_gpud -lopencv_highgui -lopencv_highguid -lopencv_imgproc -lopencv_imgprocd -lopencv_legacy -lopencv_legacyd -lopencv_ml -lopencv_mld -lopencv_nonfree -lopencv_nonfreed -lopencv_objdetect -lopencv_objdetectd -lopencv_ocl -lopencv_ocld -lopencv_photo -lopencv_photod -lopencv_stitching -lopencv_stitchingd -lopencv_superres -lopencv_superresd -lopencv_ts -lopencv_tsd -lopencv_video -lopencv_videod -lopencv_videostab -lopencv_videostabd

但我编译时出错:

undefined reference to \`cv::VideoCapture::VideoCapture()'
undefined reference to \`cv::VideoCapture::open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'

【问题讨论】:

    标签: c++ opencv g++


    【解决方案1】:

    错误信息:

    undefined reference to \`cv::VideoCapture::VideoCapture()'
    undefined reference to \`cv::VideoCapture::open(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
    

    注意,std::__cxx11::basic_string 在 C++ 11 中表示 std::string

    也许您应该在 g++ 之后添加标志:-std=c++11

    试试这个:

    g++ -std=c++11 test.cpp -I/c/Users/kmes40505/Desktop/programming/library/opencv/include -L/c/Users/kmes40505/Desktop/programming/library/opencv/x64/vc14/lib -lopencv_calib3d -lopencv_calib3dd -lopencv_contrib -lopencv_contribd -lopencv_core -lopencv_cored -lopencv_features2d -lopencv_features2dd -lopencv_flann -lopencv_flannd -lopencv_gpu -lopencv_gpud -lopencv_highgui -lopencv_highguid -lopencv_imgproc -lopencv_imgprocd -lopencv_legacy -lopencv_legacyd -lopencv_ml -lopencv_mld -lopencv_nonfree -lopencv_nonfreed -lopencv_objdetect -lopencv_objdetectd -lopencv_ocl -lopencv_ocld -lopencv_photo -lopencv_photod -lopencv_stitching -lopencv_stitchingd -lopencv_superres -lopencv_superresd -lopencv_ts -lopencv_tsd -lopencv_video -lopencv_videod -lopencv_videostab -lopencv_videostabd
    

    【讨论】:

    • 那么错误仍然像以前一样存在。我没有在这个问题中列出未定义的参考错误,因为它们都是相似的顺便说一句
    • 哦,它在 windows 上使用了 mingw 的 g++
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-19
    • 2012-10-12
    • 2011-10-25
    • 1970-01-01
    相关资源
    最近更新 更多