VS2017+QT5.12环境配置与动态链接库的生成

最近需要重新编译一个DLL动态链接库,由于源码中包含了QT代码,所以现在需要配置VS+QT环境。

本人系统环境:Win10 64位

一、安装

Visual Studio 2017软件下载安装教程:https://mp.weixin.qq.com/s/oOAxsbAEBigxvp356yINQQ

QT5.12下载路径:http://download.qt.io/archive/qt/

注意:QT5.12里面的mingw是64位的,不再是32位的了。为了使VS也可以加载QT,在安装QT时除了安装MinGW 64bit,还需要安装 MSVC 64bit。

具体安装方法可以参考这位博主的教程,蛮详细的:https://blog.csdn.net/gaojixu/article/details/82185694

二、一些补充说明

1.如果只是在MSVC版的QT里面进行开发,就需要在Qt Creater进行一些额外设置,如下:

选择Qt Creater中的工具->选项,在选中 Kits 中的 构建套件(Kit) 选项,将 调试器 的安装路径配置好,如下图所示:(这是我已经配置好的)

 一般来说,只要安装完VS2017,在Qt的构建套件选项里,相关的编译器、调试器就会自动识别。

如果调试器没有(就是cdb.exe这个文件没有),可能是在安装VS2017时没有勾选win10 SDK啥的,这里可以去官网下载,参考地址:https://docs.microsoft.com/zh-cn/windows-hardware/drivers/debugger/debugger-download-tools

进入网址,点击如下位置:

再点击下载安装程序 ,然后下载安装即可

2.如果要在VS里面进行QT开发,需要注意下面一些问题:

(1)在用VS关联QT生成一个动态链接库后,在python里面导入会出现如下报错—— OSError: [WinError 127]找不到指定的程序:

或者命令行运行,报如下错误——:无法定位程序输入点***于动态链接库***上

原因:每个人的原因不同,但是绝对是因为生成的DLL有问题,导致python无法加载dll。

我这里之所以出现这种报错是因为我自己把QT的系统变量路径搞错了,导致生成的Dll有问题。因为我系统里面装了mingw版QT和msvc版QT,默认设置了mingw版QT的路径在前,所以出现了这个问题。有问题的QT路径顺序设置如下:

正常msvc的路径应该放在mingw之前,这样才能保证系统第一时间可以找到匹配的msvc下的QT,如下所示:

 (2)使用VS关联QT生成动态链接库的操作过程如下:

打开VS2017,标题栏会出现 Qt VS Tools,然后选择 文件 - 新建 - 项目 ,在Visual C++栏会出现测试选项,接着选择 Qt Class Library选项

点击 Next,然后选择需要用到的QT模块

接着点击 Next,进入如下界面,注意为了生成dll,这里千万不能勾选 .lib 选项,否则只会生成静态链接库

点击 Finish ,项目创建完成

(3)不关联QT,直接使用VS生成动态链接库的操作过程可以参考:

https://blog.csdn.net/lunar_queen/article/details/82872157

https://blog.csdn.net/weixin_38285131/article/details/81288338#commentsedit

 

posted @ 2019-08-27 18:50  蛋片鸡  阅读(4730)  评论(0编辑  收藏  举报