【发布时间】:2011-12-19 01:19:50
【问题描述】:
我在从 opencv(2.3.1) 链接库时遇到问题,找不到解决方法。 我将 qtCreator 与 mingw 和预构建的 vc10 动态库文件一起使用。 所以,这是我到目前为止所做的:
.pro 文件:
TEMPLATE = app
INCLUDEPATH += "E:/opencv/build/include/"
INCLUDEPATH += "E:/opencv/build/include/opencv/"
INCLUDEPATH += "E:/opencv/build/include/opencv2/"
INCLUDEPATH += $$PWD/../opencv/build/x86/vc10
DEPENDPATH += $$PWD/../opencv/build/x86/vc10
win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../opencv/build/x86/vc10/lib/ -lopencv_core231
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../opencv/build/x86/vc10/lib/ -lopencv_core231d
win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../opencv/build/x86/vc10/lib/ -lopencv_highgui231
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../opencv/build/x86/vc10/lib/ -lopencv_highgui231d
win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../opencv/build/x86/vc10/lib/ -lopencv_imgproc231
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../opencv/build/x86/vc10/lib/ -lopencv_imgproc231d
win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../opencv/build/x86/vc10/lib/ -lopencv_calib3d231
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../opencv/build/x86/vc10/lib/ -lopencv_calib3d231d
...
我测试了一个使用 opencv 中的 highgui 库的应用程序,它编译并运行良好,但是当我尝试使用 cvPyrDown(来自 imgproc_c.h)时,它编译但无法正确加载库,它“意外退出”代码-1073741515。
我不明白为什么会这样。从 .pro 文件中可以看出,我像 highgui 一样链接了 imgproc 库,但它仍然无法正常工作!
有什么建议吗?
编辑
好的,问题是 Visual Studio 创建的库具有与 g++ 不同的命名约定,这就是它无法工作的原因。如果这是真的,我仍然无法解释为什么它可以与 highgui 库一起使用。任何想法?
【问题讨论】:
标签: c++ qt opencv mingw dynamic-linking