我花了一个不眠之夜试图构建QUICKFIX拥有 64 位版本的 quickfix_net.dll 和 quickfix_net_messages.dll
我的 C# 框架是 64 位的,而常规提供的 QUICKFIX dll 是 32 位的,所以我别无选择(不能将我的应用切换回 32 位)
我期待 VS_10 解决方案能够立即构建(可怜的小天真的兔子......)但是我有一堆未找到的库错误(无法打开源文件“xxxxxx.h”)对于许多#include“xxxxxx.h”声明。对于我尝试过的两个项目源,我都有这种行为。我很困惑,因为我更像是一个 .net 的人,我没能自己解决这个问题。
原项目源码可下载here我最感兴趣的 64 位分支是 here
如果你们中的一些人可以打开 quickfix_vs10.sln 并进行干净的编译,我将非常感激,因为这样我就可以在公司的地下室至少睡几个小时,然后再回去工作。
编辑:
详细错误:
- 我有很多无法识别的#include "quickfix/foo"> 我必须从整个解决方案中删除所有的 "quickfix/"前缀
- 'FIX' : 不是类或命名空间名称(尤其是在 FieldMap.h 中)
- 缺少类型说明符 - 假定为 int。注意:C++ 不支持 default-int -'QuickFix::FieldNotFound __gc &':无法通过值或引用抛出或捕获托管对象
我有数百个,还有更多... :(
编辑:有效的答案
如果您想要一个真正的 .Net FIX 引擎,那么您最好选择 VERSAFIX或 QUICKFIX/N
两者都是 native .Net 和开源,因此可编译为 x64 dll(如果您愿意,也可以编译为 x86)
- QUICKFIX/N 刚刚问世,非常有前途。太糟糕了,它在帖子发布几个月后才发布 :(
- 截至 VERSAFIX,我公司已经使用了 6 个月,到目前为止我们非常满意。 (Russ Curry,项目发起人在技术上坚如磐石, react 迅速。)
最佳答案
你应该看看 QuickFIX/n ,一个专为 .NET 构建的 FIX 库(没有非托管 C++ 包装器)。 QuickFIX/n 保留了 QuickFIX 的所有良好约定。
关于c# - QUICKFIX 64-bit Build for .NET on Visual Studio (.NET C++ DLL Wrapper),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7497123/