动态链接托管C ++类库中的非托管dll

时间:2009-01-21 03:20:02

标签: visual-studio-2008 managed-c++

我通过试验n错误想出如何将非托管静态库链接到托管C ++ DLL,但我不知道如何动态地包含DLL。有谁知道如何在Visual Studio 2008中执行此操作?

3 个答案:

答案 0 :(得分:0)

调用非托管“LoadLibrary”不起作用?

答案 1 :(得分:0)

我正在尝试将CAIR链接到我的托管程序集。 CAIR依赖于pthreads,一个静态或动态库,用于访问任何操作系统的posix函数。

这对我来说没有意义,但解决方案是将pthreads.lib文件包含到托管C ++程序集中,并将pthreads.dll动态链接到托管库以及所有使用者项目。

如果我将lib静态编译到我的托管程序集中,我的印象是我不需要dll。

答案 2 :(得分:0)

我不确定为什么会发生这种情况的具体细节,但是我使用了一个名为OpenCV的库,我必须静态链接一个lib文件并动态链接一个dll文件。所以我认为这样做是很正常的。我认为部分原因是如果库供应商更新库,他们可以只分发一个新的dll文件,你的代码将自动使用它 - 你不必每次重新编译它们的整个程序库更新。