QT Windows下生成动态链接库
目标:需要将一个QT程序生成动态链接库
Windows环境下Qt生成的共享库文件其后缀为dll,可以在程序运行过程中动态加载
- 新建项目,选择库

- 选择共享库

- 建立好项目后生成三个文件,两个.h一个.cpp。
- 加入自己的功能函数,生成。可以生成.dll .a .o。
我的问题是没有生成.dll文件,在.pro文件中添加:CONFIG +=dll。会出现错误: udefined reference to WinMain@16。原因是qt不知道需要生成库文件,想要找到main函数。
网上解决方案有几种:
- uninstall Mingw 4.6, and download Mingw version 4.4
@CONFIG += shared@,to your .pro-file! qmake seems to be confused if neither -shared nor -static build is specified
尝试了这两种方法都行不通,最后无奈,添加了一个main()空函数,成功生成.dll库文件。
QT Windows下生成动态链接库的更多相关文章
- Qt Windows下链接子系统与入口函数(终结版)(可同时存在main和WinMain函数)
Qt Windows下链接子系统与入口函数(终结版) 转载自:http://blog.csdn.net/dbzhang800/article/details/6358996 能力所限,本讨论仅局限于M ...
- go 工具链目前[不支持编译 windows 下的动态链接库]解决方案
go 工具链目前[不支持编译 windows 下的动态链接库][1],不过[支持静态链接库][2].想要产生dll,可以这样 workaround ,参考 golang [issuse#11058][ ...
- go 工具链目前[不支持编译 windows 下的动态链接库][1],不过[支持静态链接库][2]
go 工具链目前[不支持编译 windows 下的动态链接库][1],不过[支持静态链接库][2].想要产生dll,可以这样 workaround ,参考 golang [issuse#11058][ ...
- Linux下生成动态链接库是否必须使用 -fPIC 的问题[转]
在 Linux 下制作动态链接库,“标准” 的做法是编译成位置无关代码(Position Independent Code,PIC),然后链接成一个动态链接库.经常遇到的一个问题是 -fPIC 是不是 ...
- qt windows下的配置 以及VS2010的使用
qt在windows下的使用方式有两种: 1.将qt内置在vs下,例如,内置在vs2010下,使用vs的编译器及调试器. 2.在windows下,使用qt creator以及MingW作为编译器的使用 ...
- Windows下生成目录结构树
1.进入需要生成目录结构的文件主目录 2.在当前目录打开命令行 3.输入命令 tree /f > list.txt 4.即在当前目录下生成了list.txt文件
- 使用 rpython 在 windows 下生成的程序无法运行
在 windows 用rpython编译出的文件总是无法运行,报 通过跟踪发现,rpython 每次都会将生成的C代码.Makefile 等放置在 %TEMP%\usession-release-2. ...
- Qt Windows下开机自动启动自己的程序
源地址:http://blog.csdn.net/chrisfxs/article/details/13279491 版权声明:本文为博主原创文章,未经博主允许不得转载. void Widget::R ...
- Windows下生成 公钥 私钥以及 配置 Filezilla中的 SFTP的私钥
Win下需要使用到 PuTTYgen.exe来生成公钥私钥,可以参考youtube的这篇文章: 为 SFTP 保管箱生成 Secure Shell (SSH) 密钥对 PuTTYgen.exe的下载 ...
随机推荐
- 【NOIP 2011】 观光公交
题目描述 Description 风景迷人的小城 Y 市,拥有n 个美丽的景点.由于慕名而来的游客越来越多,Y 市特意安排了一辆观光公交车,为游客提供更便捷的交通服务.观光公交车在第0 分钟出现在1号 ...
- importExcel运用注解实现EXCEL导入poi类
JAVA报表 package com.app.common.excel; import java.io.File; import java.io.FileInputStream; import jav ...
- angularjs编码实践
AngularJS 是制作 SPA(单页面应用程序)和其它动态Web应用最广泛使用的框架之一.我认为程序员在使用AngularJS编码时有一个大的列表点应该记住,它会以这样或那样的方式帮助到你.下面是 ...
- 在linux下的apache配置https协议,开启ssl连接
环境:linux 配置https协议,需要2大步骤: 一.生成服务器证书 1.安装openssl软件 yum install -y openssl mod_ssl 2.生成服务器私匙,生成server ...
- 在非UI线程中更改UI(Delphi使用隐藏窗口来处理,QT使用信号槽)
在Delphi里我记得是使用TThread.Synchronize(TThreadMethod),原理是利用了一个隐藏窗口来处理. 在QT Debug模式一下,碰到了同样的问题,显示错误: canno ...
- BZOJ1612: [Usaco2008 Jan]Cow Contest奶牛的比赛
1612: [Usaco2008 Jan]Cow Contest奶牛的比赛 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 645 Solved: 433 ...
- 【转】实现展开列ExpandableListView的三种方式之SimpleExpandableListAdapter实例
原文网址:http://blog.csdn.net/x605940745/article/details/12099709 实现可扩展展开列ExpandableListView的三种方式 欢迎加入QQ ...
- Linux下如何挂载FAT32格式USB设备
挂u盘之前,运行命令cat /proc/partitions,看看现在系统中有哪些分区.插上u盘以后,再次运行上述命令,看看多出来什么分区.通常是sda1. 1.插入U盘 2.输入 fdisk -l ...
- TimePicker,TimePickerDialog以及自定义timepicker(一)
场景:在activity上点击,弹出一个dialog,然后点击dialog上的一个按钮,在弹出时间.以及自定义dialog 懒,要用到一个选择时间的需求,只要求小时和分钟,弹出式,第一时间想到了tim ...
- POJ 1775 (ZOJ 2358) Sum of Factorials
Description John von Neumann, b. Dec. 28, 1903, d. Feb. 8, 1957, was a Hungarian-American mathematic ...