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)
相关推荐
AI人H哥会Java36 分钟前
【JAVA】Java基础—面向对象编程:常用API与数据结构—集合框架(List、Set、Map等)
java·开发语言
shepherd枸杞泡茶1 小时前
C# 数据结构之【队列】C#队列
开发语言·数据结构·c#
scoone1 小时前
C++中的原子操作:原子性、内存顺序、性能优化与原子变量赋值
开发语言·c++
轩情吖1 小时前
模拟实现Bash
linux·c语言·开发语言·c++·后端·bash·环境变量
旧故新长2 小时前
版本控制和idea简体中文教程
java·开发语言·intellij-idea
疯一样的码农2 小时前
使用 Maven 构建一个简单的 Java 项目
java·开发语言·maven
易风有点疯2 小时前
Python:序列化
开发语言·python
Biomamba生信基地2 小时前
R语言基础| 时间序列分析
开发语言·r语言·kotlin·编程
Promising_GEO2 小时前
使用R语言绘制简单地图的教程
开发语言·python·r语言
微尘82 小时前
C++条件编译指令:#if、#elif、#ifdef、#ifndef、#elifdef、#elifndef、#else、#endif
开发语言·c++