Dav*_*ard 11 c++ qt mfc atl algorithmic-trading
我有一个Qt项目,并希望使用包含"afxstr.h"的外部库.问题是,每当我链接到lib并包含其标题后编译时,我都会收到错误:
#error afxstr.h can only be used in MFC projects. Use atlstr.h
Run Code Online (Sandbox Code Playgroud)
当然,我的项目不是MFC项目,我不能使用atlstr.h,因为它不是我的库.
我正在寻找快速解决方案!
我正在使用VS2010.
有争议的lib是Interactive Brokers API.
相应的设置是“配置属性/常规”、“MFC 的使用”。
在 DLL 中使用 MFC 时,隐含的编译器选项是 /D“_AFXDLL”。至于链接器选项,奇怪的是 Windows 导入库(例如 kernel32.lib)的显式链接被删除了。
Visual Studio 似乎会自动找到相应的库。但是,“使用 MFC”选项与项目文件一起存储,因此我无法说明它将如何转换为自定义构建脚本。
第一个包含必须是
#include <afx.h>
Run Code Online (Sandbox Code Playgroud)
并且您不能在此之前包含 windows.h 。通常,如果您使用预编译头,那么这是 stdafx.h 中的第一个包含内容。除此之外,还可以根据需要自由包含其他 MFC 头文件。
我怀疑这就是故事的结局,让 MFC 玩任何东西都是痛苦的,有时更容易放弃:) 快速谷歌显示有解决方案,但它们涉及额外的代码并且相当旧。
| 归档时间: |
|
| 查看次数: |
4575 次 |
| 最近记录: |