2016-04-10 43 views
0

我試圖在Windows上使用VS 2008在32位C++控制檯應用程序中運行開箱即用的ActiveMQ示例http://activemq.apache.org/cms/example.html加載第三方DLL在運行時出現未處理異常(Log4CXX,ActiveMQ)

該項目已建成,但是當我運行該程序時,我收到異常。

在0x768b3e28在XXXXXX.exe

未處理的異常:微軟C++異常:性病:: length_error內存位置0x0100f880 ..

試圖運行時,我得到正好與相同的內存地址相同的異常一個單獨的項目和另一個第三方DLL(log4CXX)。

路徑設置

的DLL文件是Windows/System32下,以及在Windows/SysWOW64中。

我已經將頭文件路徑添加到配置屬性> C/C++>其他包含目錄。 在鏈接器>輸入>附加依賴關係中,我有ws2_32.lib libapr-1.lib activemq-cpp.lib。 在鏈接器>常規>附加庫目錄中,我指定了存在lib文件的文件夾的路徑。 包含lib和頭文件的路徑,我相信這就是爲什麼在構建項目時沒有問題。

+1

您**需要**需要.lib文件和.dll文件,在程序可以找到它的地方。在Linux上,.so是這些的組合,但在Windows中它們是單獨的文件。 –

+0

因此,運行程序必須具有哪些DLL? VC會不會與我指的項目一起構建它。 – Bokhari

+0

謝謝@BoPersson,這真是一個愚蠢的問題。我發現DLL和應用程序現在應該工作。 – Bokhari

回答

0

錯誤只是因爲該程序沒有找到該DLL。我只需將dll放在系統庫文件夾(C:/ Windows/SysWoW64)上即可獲得64位機器上的32位dll。

相關問題