Qt具有跨平台的特性,即Qt数据结构与算法库本身跨平台和编译脚本(.pro)跨平台。在同时具有Windows下和Linux开发的需求时,最好的建议是使用QtCreator来开发,虽然也可以使用其他的IDE配合CMake等方式,但使用QtCreator更加方便,并且操作环境完全一致。QtCreator支持Windows、Linux、MacOS下安装。
Windows平台下添加动态库
VisualStudio添加动态库(顺便一提)
Windows使用VS开发动态库时会同时生成动态库文件(.dll)与静态库(.lib),.lib只是为配合编译使用,运行时主要依赖.dll文件。
使用动态库时,即使有了.h头文件与.dll文件,在开发时仍然要将.lib文件配置进VS库文件中一起编译
配置方式:打开VS,右键项目打开属性
1.VC++目录——》库目录——》添加.lib目录
2.连接器——》输入——》添加xxx.lib
运行时将.dll文件与.exe放在同一目录下即可
QtCreator pro文件添加dll动态库:
1.首先建议使用:
右键项目——》添加库——》外部库——》
进入添加库Details界面后,配置方式:
1.库文件:选择你要添加的动态库搭配的静态库(.lib)文件。
2.包含路径:动态库的接口即.h头文件所在的目录,注意是所在目录不是把.h文件本身添加进去 例如OpenCV:库文件:/xxx/xxx/lib/opencv_world420.lib 包含路径:/xxx/xxx/include/
3.平台:可以去掉勾选Linux和Mac,或者全部去掉,这个主要是标记当前添加的动态库支持哪些平台下编译
4.点击下一步——》完成
2.点击完成后,双击打开项目pro文件,会出现下图
(我这里是直接把OpenCV放入了项目结构中,所以使用的相对路径,如果你是单独安装的OpenCV建议使用绝对路径,其他库也是一样。或是加入到环境变量里,QtCreator会自动遍历系统环境变量)
LIBS:这个就是添加的库文件,不会显示.lib后缀
INCLUDEPATH:这个是头文件路径
DEPENDPATH:依赖目录,这里是在找不到头文件的情况下编译会在这个目录查找
3.确认pro文件添加进入后
右键项目——》清除——》qmake——》构建
最后:运行时将.dll文件与.exe放在同一目录下,编译没有错误即通过!