Opencv2.3 和 Qt Creator 2.4.1 链接器错误
Opencv2.3 and Qt Creator 2.4.1 linker error
我正在运行opencv和qt。我已经成功地为 opencv 添加了包含。但是当我做cvLoadImage时,有一个链接器错误。
这是我的代码:
void MainWindow:on_pushButton_clicked()
{
img = cvLoadImage("C:\Users\MLS-PROGRAMER\Documents\Visual Studio 2010\Projects\Image_processing\Image_processing \thres.png");
// cvNamedWindow("Image",CV_WINDOW_AUTOSIZE);
// cvShowImage("Image", img);
// cvWaitKey(40);
}
这是错误消息:
mainwindow.obj:-1: error: LNK2019: unresolved external symbol _cvLoadImage referenced in function "private: void __thiscall MainWindow:n_pushButton_clicked(void)" (?on_pushButton_clicked@MainWindow@@AAEXXZ)
debugFIDAS.exe:-1: error: LNK1120: 1 unresolved externals
我的项目文件是这样的
#-------------------------------------------------
#
# Project created by QtCreator 2012-05-29T10:31:40
#
#-------------------------------------------------
QT += core gui
TARGET = FIDAS
TEMPLATE = app
SOURCES += main.cpp
mainwindow.cpp
HEADERS += mainwindow.h
FORMS += mainwindow.ui
INCLUDEPATH += C:OpenCV2.3opencvbuildincludeopencv2core
C:OpenCV2.3opencvbuildincludeopencv
C:OpenCV2.3opencvbuildincludeopencv2imgproc
C:OpenCV2.3opencvbuildgpux64lib
CONFIG(release,debug|release)
{
LIBS += C:OpenCV2.3opencvbuildgpux64libopencv_calib3d231.lib
C:OpenCV2.3opencvbuildgpux64libopencv_contrib231.lib
C:OpenCV2.3opencvbuildgpux64libopencv_core231.lib
C:OpenCV2.3opencvbuildgpux64libopencv_features2d231.lib
C:OpenCV2.3opencvbuildgpux64libopencv_flann231.lib
C:OpenCV2.3opencvbuildgpux64libopencv_gpu231.lib
C:OpenCV2.3opencvbuildgpux64libopencv_haartraining_engine.lib
C:OpenCV2.3opencvbuildgpux64libopencv_highgui231.lib
C:OpenCV2.3opencvbuildgpux64libopencv_imgproc231.lib
C:OpenCV2.3opencvbuildgpux64libopencv_legacy231.lib
C:OpenCV2.3opencvbuildgpux64libopencv_ml231.lib
C:OpenCV2.3opencvbuildgpux64libopencv_objdetect231.lib
C:OpenCV2.3opencvbuildgpux64libopencv_ts231.lib
C:OpenCV2.3opencvbuildgpux64libopencv_video231.lib
}
CONFIG(debug,debug|release)
{
LIBS += C:OpenCV2.3opencvbuildgpux64libopencv_calib3d231d.lib
C:OpenCV2.3opencvbuildgpux64libopencv_contrib231d.lib
C:OpenCV2.3opencvbuildgpux64libopencv_core231d.lib
C:OpenCV2.3opencvbuildgpux64libopencv_features2d231d.lib
C:OpenCV2.3opencvbuildgpux64libopencv_flann231d.lib
C:OpenCV2.3opencvbuildgpux64libopencv_gpu231d.lib
C:OpenCV2.3opencvbuildgpux64libopencv_haartraining_engined.lib
C:OpenCV2.3opencvbuildgpux64libopencv_highgui231d.lib
C:OpenCV2.3opencvbuildgpux64libopencv_imgproc231d.lib
C:OpenCV2.3opencvbuildgpux64libopencv_legacy231d.lib
C:OpenCV2.3opencvbuildgpux64libopencv_ml231d.lib
C:OpenCV2.3opencvbuildgpux64libopencv_objdetect231d.lib
C:OpenCV2.3opencvbuildgpux64libopencv_ts231d.lib
C:OpenCV2.3opencvbuildgpux64libopencv_video231d.lib
}
对此问题的任何帮助都会很棒。?
我在自己的项目中使用这样的配置:
LIBS += D:/OpenCV-2.3.0/build/lib/libopencv_core230.dll.a
我使用C++ API 而不是使用 C API,即 imread
而不是cvLoadImage
.
实际上,您应该指定链接路径(在哪里可以找到库),然后指定要链接的库列表:
LIBS += -L C:OpenCV2.3opencvbuildgpux64lib -lopencv_contrib231 -lopencv_core231 -lopencv_features2d231 ...
步骤 8 描述了它适用于所有体系结构。
基本上,您必须使用 -L 指定库路径,然后使用
-l<libname_without_extension>
对于 unix(安装在默认位置):
unix: LIBS += -lopencv_core
unix: LIBS += -lopencv_highgui
对于窗口(您的问题):
win32: LIBS += -L C:OpenCV2.3opencvbuildgpux64lib -lopencv_core231
相关文章:
- 静态数据成员的问题-修复链接错误会导致编译器错误
- Visual Studio mkl_link_tool.exe链接错误
- C++ 实现模板单例类时出现链接错误
- 使用类模板的方法链接错误
- MySQL C++连接器链接错误
- VS 2015 链接错误 无法构建依赖于 libcurl 的项目
- 运行 C++ 单元测试时LNK2005链接错误
- 对 CMake 中'cudaRegisterLinkedBinary'链接错误的未定义引用?
- 链接错误,包括我创建的相同头文件 - C++
- 在Embarcadero C++ Builder中生成的DLL未解决的外部链接错误
- 使用标头保护的多个定义链接错误
- 链接错误:未定义对 stdscr 和 wgetch 的引用
- 使用 Vivek 的 Vcam / 捕获源过滤器构建/链接错误
- 升压program_options中的链接错误
- 使用 g++ 预处理器进行替换会导致链接错误
- 在调试配置中编译工作正常,但发布会给出链接错误
- 相邻矩阵设置链接错误
- 包含常量变量并包含在多个文件中的标头的链接错误
- C++链接错误,我理解但无法解决
- 是什么导致macOS Mojave上的GoogleTest链接错误