3

我花了一个不眠之夜试图构建QUICKFIX以获得 64 位版本的 quickfix_net.dll 和 quickfix_net_messages.dll

我的 C# 框架是 64 位的,而常规提供的 QUICKFIX dll 是 32 位的,所以我别无选择(将我的应用程序切换回 32 位不是一个选项)

我期待 VS_10 解决方案能够立即构建(可怜的小天真的兔子......)但是对于许多 #include "xxxxxx.h" 语句,我有一堆未找到的库错误(无法打开源文件 "xxxxxx.h")。对于我尝试过的两个项目源,我有这种行为。我很困惑,因为我更像是一个 .net 人,而我自己无法解决这个问题。

原始项目源代码可在此处下载,我最感兴趣的 64 位 fork 在这里
回去工作之前睡在公司的地下室。

编辑 :

详细错误:

  • 我有许多无法识别的#include "quickfix/foo" > 我必须从整个解决方案中删除所有的 "quickfix/" 前缀
  • 'FIX' : 不是类或命名空间名称(尤其是在 FieldMap.h 中)
  • 缺少类型说明符 - 假定为 int。注意:C++ 不支持 default-int -'QuickFix::FieldNotFound __gc &' :无法通过值或引用抛出或捕获托管对象

我有数百个,还有更多...... :(

编辑:有效的答案

如果你想要一个真正的 .Net FIX 引擎,那么你最好选择VERSAFIXQUICKFIX/N 两者都是原生 .Net 和开源的,因此可以编译为 x64 dll(或者 x86,如果你喜欢)

  • QUICKFIX/N 刚出来,很有前途。太糟糕了,它在帖子发布几个月后就出来了:(
  • 截至 VERSAFIX,我的公司已经使用了 6 个月,到目前为止我们非常满意。(Russ Curry,项目发起人在技术上坚如磐石,反应迅速。)
4

3 回答 3

2

您应该查看QuickFIX/n,这是一个专门为 .NET 构建的 FIX 库(没有非托管 C++ 包装器)。QuickFIX/n 保留了 QuickFIX 的所有良好约定。

于 2011-12-02T02:09:00.703 回答
1

几天前我还需要 64 位版本的 quickfix,这就是我如何做到的,将其转换为 64 位完全没有错误或问题。解压缩档案的一个新实例,用 VS 打开它。然后转到整个解决方案的属性并选择配置属性。然后按“配置管理器”按钮并从“活动解决方案模式”的下拉菜单中选择“新建”。现在从第一个下拉列表中选择 x64,然后从第二个“复制设置自:”中选择“混合平台”。完成此操作后,只需重建解决方案即可。

我希望这对你们所有人都有帮助。祝你今天过得愉快。

于 2012-01-31T07:30:59.463 回答
0

标头 (.h) 错误是由于它无法找到包含文件夹。如果您将该文件夹添加到项目查找头文件的位置列表中,它应该可以正常构建。我也遇到了这个问题,但是,一个 c++ 开发人员马上就知道它是什么,我承认如果我对 c++ 不是那么熟悉而且它的怪癖,我会花一些时间

于 2011-09-21T09:08:24.587 回答