Qt 构建报错 undefined reference to xxx

初次学习使用Qt,在构建时报错。这是个典型报错,熟练vs与c++的朋友一眼就可以看出要么是库出问题了,要么是库链接出问题了。那么就可以按照相对明确的方向找问题。

1、确认库与项目配置是否一致。 32位还是64位,debug还是release一定要一一对应。**还有库与项目的编译器要一致。**这是个坑,我这里就是踩了进去。我原本是使用visual studio的,我之前为visual studio 2022自己编译了OpenCV的库。我这里直接将这个库拿来作为第三方库引入。这就产生了问题。因为我这里选择的是MinGW编译器,他必然不同于2022使用的MSVC 2022。而我这里是自己采用MSVC 2022编译的库,自然会出问题。

**2、确认第三方路径是否正确。**能走到这一步,基本上头文件include没啥问题,注意一下lib的路径并且要链接上,如果是动态库的话,还要注意把dll文件放置到exe路径中。这里给出我在CMake中设置的路径示例。

bash 复制代码
include_directories("../include")
link_directories("../lib")
message(STATUS "Include directory: ${CMAKE_SOURCE_DIR}/../include")
message(STATUS "Library directory: ${CMAKE_SOURCE_DIR}/../lib")
# message两行只是打印路径,可不要

target_link_libraries(QtInpaint PRIVATE opencv_world4100)
相关推荐
CoderYanger1 小时前
A.每日一题:835. 图像重叠
java·开发语言·程序人生·leetcode·面试·职场和发展·学习方法
伞伞悦读2 小时前
【第37期】Python JSON 与配置详解:序列化、反序列化、嵌套结构和配置文件
开发语言·python·json
CCCCCCCCharlie2 小时前
Linux进程控制四大核心操作
linux·开发语言
Brilliantwxx2 小时前
【STM32】 SPI Flash 驱动开发实战:阻塞模式驱动 W25Q64(含工程代码)
开发语言·stm32·单片机·嵌入式硬件
Quz2 小时前
QML SwipeDelegate 滑动委托
qt
wuyk5552 小时前
【Socket 进阶之路】第 9 章 Linux 网络服务量产稳定性优化|心跳保活、TIME_WAIT、SO_LINGER、内存池、断线重连、完整异常防护框架
linux·服务器·开发语言·网络·物联网
邪修king3 小时前
Re:Linux 系统篇(三十四):进程间通信开篇Chapter1 —— 匿名管道 pipe 深度拆解与代码实战
android·linux·运维·开发语言
Quz3 小时前
QML 列表中的四种委托:ItemDelegate、CheckDelegate、RadioDelegate、SwitchDelegate
qt