2011-06-09 104 views
0

我試圖開發一個插件到一個歐特克產品,但它好像我有一個有趣的問題... 當我嘗試編譯一個64位調試DLL。該軟件不會加載它! 但是,當我使用64發佈的DLL,32發佈和調試DLL的工作。視覺工作室C++:64位調試dll不會工作

感覺就像我丟失了一些簡單的設置,但我相比的32和64位的調試配置設置所有的值,但它們是相同的(除了那些將其定義爲32或64)。

任何建議它可能是什麼?

我使用他們有藏漢,同樣的問題的例子的解決方案嘗試。 也嘗試過不同版本的軟件(motionbuilder 2011和2010)。

更新:我現在試着從瑪雅2011示例代碼構建一個調試64 DLL,看起來像它不會工作,要麼。

+0

「不會加載」?你能更好地描述錯誤嗎? – 2011-06-09 14:37:55

+0

該軟件不會加載插件 – Tistatos 2011-06-09 14:38:43

+0

是否有可能你錯過了專門用於64調試的第三方dll? – 2011-06-09 14:41:59

回答

0

檢查您的變量是否在使用前正確初始化。我見過許多程序在Debug版本上工作,但在Release上崩潰,因爲我忘了初始化一些東西。

+0

即使我使用他們的示例代碼,它仍然無法正常工作,而且我很確定他們不會發布不會編譯的示例代碼(即使它是autodesk)。 – Tistatos 2011-06-09 14:42:21

+0

似乎答案在於屬性頁面,c/C++ - >代碼生成 - >將運行時庫從/ MDd更改爲/ MTd幫助。 – Tistatos 2011-06-09 15:52:39

0

你在沒有C運行時庫,或其他任何依賴庫的調試版本的機器上測試?

如果沒有幫助,使Loader Snaps,看看它告訴你。

2

我建議你使用GetLastErrorFormatMessage如果LoadLibrary返回null,還要檢查EventViewer

我有一個類似的問題 - 32 bit dll not loading in a 64bit environment,它證明是並排錯誤(無法加載VC調試dll)和切換到發佈版本避免了這個問題。