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\buildOPENCV_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”的主要内容,如果未能解决你的问题,请参考以下文章

Qt-Creator 中 OpenCV 程序中的链接器错误

CUDA、Win7、Qt Creator - LNK1104:无法打开文件“<cuda 文件>.obj”

使用 qt creator 和 eigen 库编译程序时出现 lnk2019 错误

QT Creator - LNK2019 和 LNK1120 错误 [重复]

LNK1104 将 Boost 库添加到 Qt 项目时出错

链接:致命错误 LNK1104:无法打开文件 'ucrt.lib'