標題僅供嘲笑。 :-) 我知道這是不可能的,但這是我的問題。在同一時間使用在發佈和調試模式下加速
我的應用程序(實際上是一個DLL)使用Boost。它也使用外部API,它也使用Boost。 外部API當然是在釋放二進制文件中提供的,只需要釋放Boost二進制文件即可。
當我在發佈模式下編譯/鏈接我的DLL時,我沒有問題。我精確地將我的應用程序以動態方式鏈接到Boost(BOOST_ALL_DYN_LINK)。在調試模式下,我無法加載我的DLL。 我不確定這是因爲Boost,但我懷疑Windows不喜歡使用兩個Boost(由外部庫調用的發行版,以及由我的代碼調用的調試版)。
如果我將我的代碼與發佈Boost靜態鏈接,它會更好嗎?
我不認爲它與CRT有關,因爲我在事件查看器中沒有任何內容。
我使用Visual Studio 2005 SP1。
謝謝。
我打算將我的調試應用程序靜態鏈接到發佈Boost。 你的「然而」仍然適用? – Oodini 2010-01-15 16:50:09
如果您將應用程序與boost的發佈版本相關聯,爲什麼不使用與外部庫相同的boost DLL運行時?然後我看不到需要靜態鏈接。 – 2010-01-15 17:15:53
你是完全正確的。我的思想被卡住了2個助推器。 :-) – Oodini 2010-01-15 17:17:55