VS2019生成的DLL,给QT(MinGW版本)使用的小结

这篇具有很好参考价值的文章主要介绍了VS2019生成的DLL,给QT(MinGW版本)使用的小结。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  • VS2019端:

a 基于生成一个DLL的工程(要注意生成是x86,还是x64的,需要和后面的QT的App工程对应),这里不多解释了,网上多的是;

b 在cpp实现文件里,假如要导出一个这样的函数:

int add(int a, int b)
{
return a+b;
}

那么,它对应的头文件,如abc.h,一定如下:即在头文件里,使用了extern "C"来限制这个函数名,这样的目的是在c++编译器下,产生c语言的编译链接规则:

#ifdef __cplusplus
extern "C" {
#endif

int add(int a, int b);

#ifdef __cplusplus
}
#endif

(具体c++和c语言编译链接规则extern "C",参考:extern “C”的作用详解 - 狂奔~ - 博客园 (cnblogs.com)https://www.cnblogs.com/xiangtingshen/p/10980055.html

注意,上述的cpp实现文件的函数名前,不要加extern "C"。

c 为了产生lib文件,在VS2019工程里添加def文件,这样的目的是生成DLL后导出的函数名为add,而不是乱七八糟的添加@各种前缀;还有一个目的是生成DLL的同时,还会生成lib文件,即如果不添加def文件,默认是不会产生lib文件的。

LIBRARY
EXPORTS
   add @1

d 编译工程,产生DLL后,一定使用VS2019环境——【工具】——【VS命令提示】检查一下产生的dll是否符合预期要求:

在弹出的控制台输入命令:dumpbin /exports abc.DLL

VS2019生成的DLL,给QT(MinGW版本)使用的小结,qt,开发语言,c++

 如上图,可以看到导出的函数名为add。

QT端:

a 生成一个基于exe的App工程,注意32位/64位,一定和上面VS工程对应;

b 在pro工程文件里添加上面VS2019生成的DLL工程引用:

LIBS += "C:/abc/Debug/abc.lib"

(注意,这里添加的是lib文件名,测试引用DLL文件名也可以!)

c 引用上面VS产生的头文件abc.h,在cpp里直接使用add函数即可。文章来源地址https://www.toymoban.com/news/detail-652329.html

到了这里,关于VS2019生成的DLL,给QT(MinGW版本)使用的小结的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • VS2019社区版和QT安装记录

    下载 VS2019:  Visual Studio 2019 版本 16.11 发行说明 | Microsoft Learn https://learn.microsoft.com/zh-cn/visualstudio/releases/2019/release-notes 选择第一个,下载社区版。或者这里下载。 比较简单的方式就是直接打开,网络安装。但微软提供了先下载,后离线的方法,使得我们可以做一个备份 。

    2024年02月11日
    浏览(48)
  • Qt5.14.2安装教程和VS2019中的qt环境配置

    Qt(官方发音 [kju:t],音同 cute)是一个跨平台的 C++ 开发库,主要用来开发图形用户界面(Graphical User Interface,GUI)程序,当然也可以开发不带界面的命令行(Command User Interface,CUI)程序。 Qt 还存在 Python、Ruby、Perl 等脚本语言的绑定, 也就是说可以使用脚本语言开发基于

    2024年02月07日
    浏览(46)
  • Windows环境利用QT+CMake编译mingw版本的opencv

    Opencv官网没有提供mingw版本的opencv库,所以需要自己编译,下面是编译过程,32位64位方法类似。 可以直接下载编译好的mingw版本opencv4.4: 使用CMAKE3.22+QT5.13编译后的opencv4.4(32位的)资源-CSDN文库 如果网络不好,可能会需要自己手动下载下面的文件:  opencv_videoio_ffmpeg.dll+ope

    2024年02月13日
    浏览(45)
  • VS2019 + Qt : setToolTip的提示内容出现乱码

    在使用 setToolTip() 时, 标签提示只有英文是对的,中文是乱码! 应该是编码出了问题。默认情况下,Qt使用的是UTF-8编码,我就查看了一下这个在VS2019中cpp文件的编码: 可以看到,编码是ANSI,明显不对! 解决方法一: 我就转换了一下编码,转为UTF-8. 然后编译,中文就不再是

    2024年02月12日
    浏览(43)
  • VSCode+Qt+MinGW开发环境搭建

    VSCode 扩展性很强, 插件机制 让其具备不断演进的潜力,适合作为稳定的开发工具。 VSCode+Qt 开发环境的搭建需要依赖于以下工具: VSCode、Qt ,其中 Qt 需要安装 MinGW 编译工具; VSCode 插件: C++、CMake Tools、Qt Tools、QtConfigure 。 具体思路上, VSCode 只是提供了集成界面,通过它

    2023年04月12日
    浏览(48)
  • QT笔记——vs + qt 创建一个带界面的 dll 和 调用带界面的dll

    用VS + qt 生成dll 和 调用生成的dll 环境: vs 2019 + qt 5.12 创建dll 上一次我们是直接使用的qt 为我们提供方便的类库创建 ,这次呢 我们自己写类库 第一步:创建一个QT应用程序 第二步,修改程序为 生成dll 并且 我修改了生成的所在路径 添加QT的模块 ,自己用了什么,就添加什

    2024年02月03日
    浏览(37)
  • VS studio 上开发Qt——Qt VS studio Tool的使用

    点击菜单栏【扩展】-【管理扩展】,在搜索框搜索“Qt”, 点击下载Qt Visual Studio Tools, 以2022版为例,需要关闭所有窗口才能执行安装 关闭VS后,弹出安装窗口,等待其安装完成 等待安装完成后,添加一个Qt Vertion后(前提已经安装了Qt开发环境)即可使用VS新建或者编译QT项目

    2024年04月12日
    浏览(36)
  • VS2019+QT代码与QtCreator工程的互相转换

    QT Creator的project转换成Visual Studio的project 在windows10下,运行Qt Command Prompt。 输入命令行: qmake -tp vc XXX.pro 会生成文件XXX.vcxproj Visual Studio的project转成QT Creator的project 第一步,因为原Visual Studio工程就是基于QT Template的工程,所以我们可以用VS里的QT插件里的\\\"Create basic .pro file...\\\"菜

    2024年02月13日
    浏览(36)
  • QT6安装完成后,再安装低版本的MinGW或其他组件方式

    1,首先登录自己账户 2,然后进入欢迎中,点击“添加和移除组件” 3,然后检索自己需要的安装内容

    2024年02月11日
    浏览(34)
  • VS中使用Qt开发项目

    在使用Qt时,Qt本身自带的IDE(Qt creater)有些人不是很喜欢,想要在自己一直用的VS中开发Qt项目,本篇将讲解一下在VS连接Qt过程中遇到的一系列问题。 各个部分的内容都是对于整体开发环境来说 ,也就是说:类似于版本的选择、配置等问题,都是考虑了很多方面而做的决定

    2024年02月02日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包