VC环境下(非QT环境)使用Qt的配置方法

       最近在已经发布的dll工程中发现了一个bug,最后决定使用Qt的signal-slot机制去改善。但是原始dll工程并非Qt工程,只是一个MFC工程,直接使用Qt函数是会报错的。经过我的摸索,最终成功移植,使其兼容Qt的函数库。

步骤如下:

      1.在目标工程下,依次选择“项目--》**属性--》配置属性--》C/C++--》常规--》附加包含目录”中添加Qt的重要目录,如下图所示


注:这里用的是绝对路径,相对路径好像不行。

2.依次选择“项目--》**属性--》配置属性--》连接器--》常规--》附加库目录”添加lib所在目录,如下图所示:


3.依次选择“项目--》**属性--》配置属性--》连接器--》输入--》附加库目录”中添加qtmain.lib、QtCore4.lib、QtGui4.lib、QtSql4.lib;如下图所示:


4.这样并没有结束,因为如果要使用Qt的signal-slot机制,还必须做以下两个工作:

    (1)如果要在类A里面声明和定义signals和slots,那么类A要继承QObject;

    (2)在类A的private数据区里要加上Q_OBJECT宏。

5.若想程序能够正常运行,还必须手动生成moc_***.cpp文件(Qt原始工程会自动生成),具体生成方法可参考:vs2010中自动生成Qt的moc文件的方法

另:这之间还遇到一个错误: 

error LNK2001: 无法解析的外部符号 "public: virtual struct QMetaObject const * __thiscall Widget::metaObject

解决方法请参考:http://blog.csdn.net/bzhxuexi/article/details/45482161

The  End.


  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值