将MFC支持添加到QT项目
-
13-12-2019 - |
题
我有一个qt项目,并希望使用包含“afxstr.h”的外部库。 问题是,每当我在链接到lib和包括标题后编译时,我都会收到错误:
#error afxstr.h can only be used in MFC projects. Use atlstr.h
.
当然,我的项目不是一个MFC项目,我不能使用atlstr.h,而是因为它不是我的库。
我正在寻找一个快速解决方案!
我正在使用vs2010。
所讨论的lib是交互式代理API
解决方案
相应的设置是配置属性/常规,使用MFC。
在DLL中使用MFC时,从该编译器选项默示出来的“_AFXDLL”。 至于链接器选项,善意显式链接Windows导入库(例如kernel32.lib)被删除。
Visual Studio似乎自动找到各个库。但是,“使用MFC”选项与项目文件一起存储,因此我不能说如何转换为自定义构建脚本。
第一个包括必须
#include <afx.h>
.
,您不能在此之前包含Windows.h。通常,如果您使用预编译标头,则为第一个包含在stdafx.h中。除此之外,其他MFC头可以根据需要自由包含。
我怀疑这是故事的结束,让MFC玩任何东西都很痛苦,有时它更容易放弃:)快速谷歌揭示有解决方案,但它们涉及额外的代码,而且相当老。其他提示
好吧,你已经知道这个,只是让它更清楚:
.pro文件添加: 定义+= ib_use_std_string
避免使用mfc cstring
不隶属于 StackOverflow