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)
相关推荐
认真的酒窝5 小时前
自己动手开发编译器(十一)语义分析
java·开发语言
wbs_scy7 小时前
Linux C++ 高并发编程:线程池全链路深度解析,从原理到手撕实现
java·开发语言
JAVA面经实录9177 小时前
Linux 常用命令完整知识体系
java·linux·开发语言·汇编
贪玩的蛋挞7 小时前
C#与闭包
开发语言·c#
端庄的战斗机8 小时前
javascript 设计模式(文章很长,请自备瓜子,水果和眼药水)
开发语言·javascript·设计模式
Full Stack Developme8 小时前
Java LRU 与 LFU 算法及应用
java·开发语言·算法
C语言小火车10 小时前
C++ 堆排序深度精讲:基于完全二叉树的选择排序进化,最坏情况 O(n log n) 的稳定王者
开发语言·c++·算法·排序算法·堆排序
北冥you鱼10 小时前
abigen 最佳实践:从入门到精通,高效生成 Go 语言合约绑定
开发语言·golang·区块链
ALex_zry11 小时前
C++26 std::complex 结构化绑定详解:auto [re, im] = c
c语言·开发语言·c++
她说..11 小时前
Java 默认值设置方式
java·开发语言·后端·springboot