在Visual Studio上为.net构建64位的QUICKFIX.. NET c++ DLL包装器)
QUICKFIX 64-bit Build for .NET on Visual Studio (.NET C++ DLL Wrapper)
我花了一个不眠之夜试图建立QUICKFIX有64位版本的quickfix_net.dll和quickfix_net_messaging .dll
我的c#框架是64位的,而常规提供的QUICKFIX dll是32位的,所以我没有其他选择(切换回我的应用程序到32位不是一个选项)
我期待VS_10解决方案立即构建(可怜的小天真兔子…),但我有一堆未发现的库错误(不能开放源代码文件"xxxxxx.h")许多#包括"xxxxxx.h"语句。对于我尝试过的两个项目源,我有这种行为。我很困惑,因为我更多的是一个。net家伙,我没有设法自己解决这个问题。
原始项目源代码可在这里下载,我最感兴趣的64位分支在这里
如果有人能打开quickfix_vs10。我非常感激,因为这样我就可以在公司的地下室睡上至少几个小时,然后再回去工作。
详细错误:
- 我有许多未识别的#include "quickfix/foo">我必须从整个解决方案中删除所有的"quickfix/"前缀
- 'FIX':不是类或命名空间的名称(特别是在FieldMap.h中)
- 缺少类型说明符-假定为int。注意:c++不支持default-int-"快速修复::FieldNotFound __gc &":无法通过值或引用抛出或捕获托管对象
每一种我都有数百种,甚至更多……(
EDIT: EFFICIENT ANSWER
如果你想要一个真正的。net修复引擎,那么你最好选择VERSAFIX或QUICKFIX/N两者都是原生的。net和开源的,因此可以编译为x64 dll(或者x86,如果你喜欢)
- QUICKFIX/N刚刚出来,非常有前途。可惜这篇文章几个月后才出来
您应该查看QuickFIX/n,这是一个专门为。net构建的FIX库(没有非托管c++包装器)。QuickFIX/n保留了QuickFIX的所有好的约定
几天前我也需要64位版本的quickfix,下面是我是如何做到的,并且完全没有错误或问题将其转换为64位。解压归档文件的一个新实例,用VS打开它。然后转到整个解决方案的属性并选择Configuration properties。然后按"配置管理器"按钮,从"活动解决方案平台"下拉菜单中选择"新建"。现在从第一个下拉菜单中选择x64,从第二个"Copy settings from:"中选择"Mixed Platforms"。在您完成这些之后,只需重新构建解决方案,您就完成了。
我希望这对大家都有帮助。祝你过得愉快。
报头(.h)错误是由于它无法找到包含文件夹。如果将该文件夹添加到项目查找头文件的位置列表中,则应该可以正常构建。我也遇到过这个问题,但作为一个c++开发人员,我立刻就知道它是什么,我承认如果我不是那么熟悉c++的话,我可能会花一些时间,而且它很奇怪
- 在 C++/CLI 中将 .NET 事件从一个 DLL 引发到另一个 DLL
- 如何在 64 位 vb.net Windows 应用程序中引用 32 位 dll
- 加载与引用 .NET DLL 位于同一文件夹中的引用的 .NET DLL 时"Not found"异常
- 是否可以在Linux上使用.Net Core 3.1创建C++/CLI代码的C#DLL
- Poco::Net::FTPClientSession 在 open() 方法上挂起 129 秒,如果 ftp 主机不存
- C++ DLL(不是 CLI)是否可以调用 .NET Core 3.0 委托?
- System.AccessViolationException:shared_ptr C# .NET 和 C++ 应用程
- C++/CLI targetting .NET Core 3.1
- 是否有可能构建面向Linux和Windows的.Net Core C++ / CLI应用程序?
- WM_PAINT消息频率:C#(.Net Framework 4.7.2 WinForms)与C++
- 如何将 VB.Net 字符串作为字符*传递给C++dll?
- 从C++标头中导入常量而不是硬编码它们:扩展 .net 控件?
- VB.NET DLL中的C++DLL函数复制
- .NET核心应用程序无法加载C++DLL
- TEA在VB.NET中的实现
- 如何使用Winforms C#或C++.Net在不更改文件中其他内容的情况下修改jpg文件中的Orientation e
- 在.NET Core 3.1中运行托管C++/CLI程序集时,映像格式错误
- 如何使函数返回数组?用于制作在VB.NET中使用的DLL
- 生成.NET包装程序需要源代码吗
- 从c++11 time_t创建一个可转换为.net DateTime的字符串