Qt Creator 链接器错误:LNK1104:无法打开文件“opencv_core249d.lib”
Posted
技术标签:
【中文标题】Qt Creator 链接器错误:LNK1104:无法打开文件“opencv_core249d.lib”【英文标题】:Qt Creator linker error: LNK1104: cannot open file 'opencv_core249d.lib' 【发布时间】:2015-11-05 05:25:34 【问题描述】:我正在使用 Qt 和 C++ 构建 Kinect 应用程序,我需要使用 OpenCV 库。我已经正确安装了 OpenCV 并在我的源文件中包含了 OpenCV 标头 <opencv2\opencv.hpp>
,这是我将使用的唯一标头。我尝试在 Visual Studio 中构建我的项目,结果很好,但现在我尝试在 Qt Creator 中构建项目,它给了我这个构建错误:
LNK1104:无法打开文件“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 64bit。我的 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 文件中。我整天都在寻找解决方案,并在网上看到了一些类似的链接器问题,但没有一个能解决我的问题。如果有人知道我的 .pro 文件或其他文件出了什么问题,我将不胜感激。
【问题讨论】:
【参考方案1】:您已将 OPENCV_LIB_DIR 设置为环境变量,但它必须是 OPENCV_LIBRARY_DIR,因为操作系统在下面一行中没有关于第一个术语的信息,但它会查找第二个变量:
OPENCV_LIB_DIR = $$(OPENCV_LIBRARY_DIR)
【讨论】:
以上是关于Qt Creator 链接器错误:LNK1104:无法打开文件“opencv_core249d.lib”的主要内容,如果未能解决你的问题,请参考以下文章
CUDA、Win7、Qt Creator - LNK1104:无法打开文件“<cuda 文件>.obj”
使用 qt creator 和 eigen 库编译程序时出现 lnk2019 错误