我度过了一个不眠之夜,试图构建QUICKFIX以获得quickfix_net.dll和quickfix_net_messages.dll的64位版本。
我的C#框架是64位的,而常规提供的QUICKFIX dll是32位的,所以我别无选择(将我的应用程序切换回32位不是一个选项)。
我期望VS_10解决方案可以立即构建(可怜的天真小兔子...),但我有许多未找到的库错误(无法打开源文件“xxxxxx.h”)对于许多#include“xxxxxx.h”的语句。我在两个项目源中都遇到了这种行为。我感到困惑,因为我更多地是一个.net人,我自己没有解决这个问题。
我的C#框架是64位的,而常规提供的QUICKFIX dll是32位的,所以我别无选择(将我的应用程序切换回32位不是一个选项)。
我期望VS_10解决方案可以立即构建(可怜的天真小兔子...),但我有许多未找到的库错误(无法打开源文件“xxxxxx.h”)对于许多#include“xxxxxx.h”的语句。我在两个项目源中都遇到了这种行为。我感到困惑,因为我更多地是一个.net人,我自己没有解决这个问题。
这个项目的源代码可以从这里下载,我最感兴趣的64位分支在这里
如果你们中的一些人能够打开quickfix_vs10.sln并进行干净的编译,我将非常感激,因为这样我就可以在公司地下室睡上至少几个小时,然后回到工作中。
编辑:
详细错误:
- 我有许多无法识别的#include "quickfix/foo" > 我必须从整个解决方案中删除所有"quickfix/"前缀
- 'FIX':不是类或命名空间名称(特别是在FieldMap.h中)
- 缺少类型说明符 - 假定为int。注意:C++不支持默认-int -'QuickFix::FieldNotFound __gc &':无法通过值或引用抛出或捕获托管对象
我有成百上千个这样的错误... :(
编辑:高效答案
如果您需要一个真正的 .Net FIX 引擎,那么最好选择 VERSAFIX 或者 QUICKFIX/N,两者都是本地的 .Net 并且开源,因此可以编译为 x64 dlls(或者如果您喜欢,也可以编译为 x86)。
- QUICKFIX/N 刚刚推出,非常有前途。可惜它在这篇文章发布几个月后才推出 :(
- 至于 VERSAFIX,我们公司已经使用了6个月,到目前为止我们还比较满意。 (项目发起人 Russ Curry 在技术上非常可靠和响应迅速。)