2009-01-21 174 views
-1

我想通過試用n錯誤如何鏈接託管的C++ dll的非託管靜態庫,但我不知道如何動態地包含一個DLL。有沒有人知道如何在Visual Studio 2008中做到這一點?動態鏈接託管的C++類庫中的非託管dll

+0

P/Invoke在這裏不起作用嗎?或者你想要更多的控制如何/何時加載DLL? – Charlie 2009-01-21 04:21:28

回答

0

我想將CAIR鏈接到我的託管程序集。 CAIR依賴於pthreads,這是一個靜態或動態庫,用於訪問任何OS的posix函數。

這對我來說沒有意義,但解決方案是將pthreads.lib文件包含到受管理的C++程序集中,並將pthreads.dll動態鏈接到託管庫以及所有消費者項目中。

我在印象之下,如果靜態編譯lib到我的託管程序集中,我不需要dll。

0

調用非託管「LoadLibrary」不起作用?

0

嗯我不知道爲什麼發生這種情況的具體細節,但我使用一個名爲OpenCV的庫,我必須靜態鏈接一個lib文件並動態鏈接一個dll文件。所以我認爲這是正常的。我認爲部分原因是,如果庫供應商更新庫,他們可以分發一個新的dll文件,你的代碼將自動處理它 - 你不必每次重新編譯它們的整個程序庫更新。