2011-09-21 135 views
3

我花了一個不眠之夜試圖建立QUICKFIX有quickfix_net.dll的64位版本和quickfix_net_messages.dllQuickFix的64位構建上的Visual Studio .NET(.NET C++ DLL包裝)

我C#框架是64位和常規提供QUICKFIX DLL是32位,所以我沒有其他選擇(切換回我的應用程序爲32位不是一種選擇)

我期待VS_10解決方案立即構建(可憐的小天真兔子......)但是我有很多未解決的庫錯誤(無法打開源文件「xxxxxx.h」)許多#include「xxxxxx.h」語句。對於我嘗試過的兩個項目源,我有這種行爲。我感到困惑,因爲我更像是一個.net人,我無法自己解決這個問題。

原始項目源下載here和64位叉利息最深的是here
如果你們中的一些可以打開quickfix_vs10.sln,有一個乾淨的編譯,我將感激之餘,我會再拿到在返回工作崗位之前,公司地下室至少要睡上幾個小時。

編輯:

詳細錯誤:

  • 我有許多未識別的#include 「的quickfix/foo」 的>我不得不從entires溶液中除去所有的 「的quickfix /」 前綴
  • 'FIX':不是類或名稱空間名稱(特別是在FieldMap.h中)
  • 缺少類型說明符 - 假定爲int。注意:C++不支持默認int -'QuickFix :: FieldNotFound __gc &「:不能扔或值抓管理對象或引用

我有數以百計的每個和許多更多...: (

編輯:高效ANSWER

如果你想要真正的淨FIX引擎,那麼你最好去VERSAFIXQUICKFIX/N 兩者都是本地.NET和開放源代碼,因此編譯爲64位的DLL (或者你喜歡的x86)

  • QUICKFIX/N剛出來,是非常有前途的。太糟糕了,它發佈後的幾個月:(
  • 截至VERSAFIX,我的公司已經使用了它6個月,我們目前非常滿意 (Russ Curry,項目發起人技術上堅如磐石, )

回答

2

你應該檢查QuickFIX/n,一個專門爲.NET構建的FIX庫(沒有非託管C++包裝器)。 QuickFIX/n保留了QuickFIX的所有好習慣。

+0

哦,我的上帝,我正在流淚。這完全是我等待的,因爲soooooooooooo長!可悲的是,這篇文章還沒有發佈,所以我們使用了Assimilate的開源軟件.Net VERSAFIX(見編輯) –

+0

QuickFIX/n非常有前途。然而,當我去年嘗試使用它時,我遇到了太多問題,所以最終轉向了QuickFIX.net包裝。 –

0

頭文件(.h)錯誤是由於它無法找到包含文件夾。如果將該文件夾添加到項目查找頭文件的位置列表中,它應該可以正常生成。我也遇到了這個問題,但是,一個C++開發人員知道它瞬間是什麼,我承認如果我不是這麼用C++來做這個事情,它會花掉我一段時間,它的怪癖

+0

這似乎有點複雜:將include目錄添加到VC++目錄後,我得到了1000多個生成錯誤。我只是瘋了。由於項目源是官方承諾,我認爲它是穩定的,有什麼地方我失蹤 –

+0

什麼樣的錯誤是目前的?還有其他目錄可能需要添加;有時VS與QF項目文件不配合 –

+0

請參閱編輯。我無法弄清楚是否有要添加的文件夾或者其他地方存在問題。 –

1

我需要64位版本的quickfix以及幾天前,這裏是我如何做到這一點,並沒有任何錯誤或問題在所有轉換爲64位。 Unrar一個新的檔案實例用VS打開它。 然後轉到整個解決方案的屬性並選擇配置屬性。然後按下「Configuration Manager」按鈕,並從「Active Solution Patforms」下拉菜單中選擇「New」。現在從第一個下拉菜單中選擇x64,然後從第二個「複製設置:」中選擇「混合平臺」。完成此操作後,只需重新構建解決方案即可完成。

我希望這可以幫助你們所有人。祝你今天愉快。

+0

你在說什麼quickfix網站上提供的「quickfix-1.13.3.zip」源代碼檔案?其實這正是我以前做過的那些事情,並且很難做到這一點。我第一次無法編譯它:你使用了什麼版本的VS,並且解決方案編譯沒有問題? Didi找到.h缺少的圖書館?你能提供更多細節嗎? –

+0

我使用VS2010,如果你按照步驟輸入,你不會遇到任何問題。如果你仍然有問題,請在這裏寫信給我,如果這能幫助你,我願意向你發送DLL。 – Jordan

+0

自從發佈這篇文章以來,我已經使用Versafix(請參閱編輯)。現在可以使用Quickfix/N了。不管怎麼說,還是要謝謝你。 –

相關問題