链接时未定义的引用 - 缺少库?

时间:2016-10-18 02:19:47

标签: c++ windows opencv mingw

我正在使用OpenCV 3.1 for Windows,MinGW,NetBeans。

根据这个,应该只有一个OpenCV库集成了许多其他的:

OpenCV 3.x only contains one lib - opencv_world.lib?

我正在尝试使用预先构建的库:

http://docs.opencv.org/3.0-beta/doc/tutorials/introduction/windows_install/windows_install.html#windowssetpathandenviromentvariable

链接:

  

g ++ -o dist / Release / MinGW-Windows / program_name   建立/释放/ MinGW的窗口/ main.o   -L ../../../ lib / opencv / build / x64 / vc14 / lib -lopencv_world310

我收到很多这样的错误:

build/Release/MinGW-Windows/main.o:main.cpp:(.text+0x18b): undefined reference to `cv::imread(cv::String const&, int)'
build/Release/MinGW-Windows/main.o:main.cpp:(.text+0x1a0): undefined reference to `cv::String::deallocate()'

在不包括opencv_core等之后我会期待的东西 - 但据我所知,他们现在都应该在opencv_world310中。

如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

您正在使用使用vc14(Visual Studio 2015)编译器构建的OpenCV:

  

→../../../ LIB / OpenCV的/生成/ 64 /的 VCl 4 / lib中

您需要使用MinGW重建OpenCV,并链接到它。