Qt Creator linker error: LNK1104: cannot open file 'opencv_core249d.lib'
Qt Creator linker error: LNK1104: cannot open file 'opencv_core249d.lib'
我正在使用 Qt 和 C++ 构建 Kinect 应用程序,我需要使用 OpenCV 库。我已经正确安装了 OpenCV,并在我的源文件中包含了 OpenCV header <opencv2\opencv.hpp>
,这是我唯一要使用的 header。我尝试在 visual studio 中构建我的项目并且它运行良好,但现在我试图在 Qt Creator 中构建项目并且它给了我这个构建错误:
LNK1104: cannot open file 'opencv_core249d.lib'
这是我的项目文件:
# ----------------------------------------------------
# This file is generated by the Qt Visual Studio Add-in.
# ------------------------------------------------------
TEMPLATE = app
TARGET = MM_demo
DESTDIR = ../Debug
QT += core opengl widgets gui
CONFIG += debug
#include directories
KINECT_INC_DIR = $$(KINECTSDK10_DIR)inc
OPENCV_INC_DIR = $$(OPENCV_DIR)\include
#library directories
OPENCV_LIB_DIR = $$(OPENCV_LIBRARY_DIR)
KINECT_LIB_DIR = $$(KINECTSDK10_DIR)lib\amd64
DEFINES += QT_OPENGL_LIB QT_WIDGETS_LIB
INCLUDEPATH += $$KINECT_INC_DIR $$OPENCV_INC_DIR
DEPENDPATH += $$OPENCV_LIB_DIR $$KINECT_LIB_DIR
message(opencv lib directory $$OPENCV_LIB_DIR)
message(kinect lib directory $$KINECT_LIB_DIR)
LIBS += -L"." \
-lopencv_core249d \
-lkinect10 \
MOC_DIR += ./GeneratedFiles/debug
OBJECTS_DIR += debug
UI_DIR += ./GeneratedFiles
RCC_DIR += ./GeneratedFiles
include(MM_demo.pri)
我在 Window 8.1 上使用 Qt 5.5.2 MSVC2013 64 位。我的 OpenCV 环境变量是:OPENCV_DIR
:C:\opencv\build
和 OPENCV_LIB_DIR
:C:\opencv\build\x64\vc10\lib
我的 OpenCV 包含目录是 C:\opencv\build\include
,它的库目录是 C:\opencv\build\x64\vc10\lib
。我确信我已经在 .pro 文件中放置了正确的包含和库路径。我整天都在寻找解决方案,并在网上看到了一些类似的链接器问题,但其中 none 解决了我的问题。如果有人知道我的 .pro 文件或其他文件出了什么问题,我将不胜感激。
您已将 OPENCV_LIB_DIR 设置为环境变量,但需要设置 OPENCV_LIBRARY_DIR 因为操作系统在下面的行中没有关于第一项的信息,但它将查找第二个变量:
OPENCV_LIB_DIR = $$(OPENCV_LIBRARY_DIR)
我正在使用 Qt 和 C++ 构建 Kinect 应用程序,我需要使用 OpenCV 库。我已经正确安装了 OpenCV,并在我的源文件中包含了 OpenCV header <opencv2\opencv.hpp>
,这是我唯一要使用的 header。我尝试在 visual studio 中构建我的项目并且它运行良好,但现在我试图在 Qt Creator 中构建项目并且它给了我这个构建错误:
LNK1104: cannot open file 'opencv_core249d.lib'
这是我的项目文件:
# ----------------------------------------------------
# This file is generated by the Qt Visual Studio Add-in.
# ------------------------------------------------------
TEMPLATE = app
TARGET = MM_demo
DESTDIR = ../Debug
QT += core opengl widgets gui
CONFIG += debug
#include directories
KINECT_INC_DIR = $$(KINECTSDK10_DIR)inc
OPENCV_INC_DIR = $$(OPENCV_DIR)\include
#library directories
OPENCV_LIB_DIR = $$(OPENCV_LIBRARY_DIR)
KINECT_LIB_DIR = $$(KINECTSDK10_DIR)lib\amd64
DEFINES += QT_OPENGL_LIB QT_WIDGETS_LIB
INCLUDEPATH += $$KINECT_INC_DIR $$OPENCV_INC_DIR
DEPENDPATH += $$OPENCV_LIB_DIR $$KINECT_LIB_DIR
message(opencv lib directory $$OPENCV_LIB_DIR)
message(kinect lib directory $$KINECT_LIB_DIR)
LIBS += -L"." \
-lopencv_core249d \
-lkinect10 \
MOC_DIR += ./GeneratedFiles/debug
OBJECTS_DIR += debug
UI_DIR += ./GeneratedFiles
RCC_DIR += ./GeneratedFiles
include(MM_demo.pri)
我在 Window 8.1 上使用 Qt 5.5.2 MSVC2013 64 位。我的 OpenCV 环境变量是:OPENCV_DIR
:C:\opencv\build
和 OPENCV_LIB_DIR
:C:\opencv\build\x64\vc10\lib
我的 OpenCV 包含目录是 C:\opencv\build\include
,它的库目录是 C:\opencv\build\x64\vc10\lib
。我确信我已经在 .pro 文件中放置了正确的包含和库路径。我整天都在寻找解决方案,并在网上看到了一些类似的链接器问题,但其中 none 解决了我的问题。如果有人知道我的 .pro 文件或其他文件出了什么问题,我将不胜感激。
您已将 OPENCV_LIB_DIR 设置为环境变量,但需要设置 OPENCV_LIBRARY_DIR 因为操作系统在下面的行中没有关于第一项的信息,但它将查找第二个变量:
OPENCV_LIB_DIR = $$(OPENCV_LIBRARY_DIR)