2012-01-03 82 views
2

我有一个本地的C++项目。它可以产生一个dll或lib文件。如何在Visual Studio中的Windows Form C++ .NET项目中添加本机C++ dll?

我在Visual Studio 2010中创建了一个C++ .NET项目(C++ Windows窗体应用程序)。我想将该库添加到此项目中以便从该库调用公共方法。

我有三个问题:

  1. 我应当产生本地C++项目一个DLL或LIB文件?
  2. 如何在C++ .NET项目中添加本地库?
  3. 我正在寻找示例代码来展示如何从C++ .NET项目中的本地库调用方法。

我对C++ .NET非常陌生。

回答

0

指定的DLL从与加载:DllImport("user32.dll"...,设置EntryPoint = "my_unmanaged_function"导入所需的非托管功能,您闪亮的新托管C++应用程序:

#using <mscorlib.dll> 
using namespace System::Runtime::InteropServices; 
// for DllImportAttribute 

namespace SysWin32 
{ 
    [DllImport("user32.dll", EntryPoint = "MessageBox", CharSet = Unicode)] 
    int MessageBox(void* hWnd, wchar_t* lpText, wchar_t* lpCaption, 
        unsigned int uType); 
} 

int main() 
{ 
    SysWin32::MessageBox(0, L"Hello world!", L"Greetings", 0); 
} 

来源和更多DllImport示例:http://msdn.microsoft.com/en-us/library/aa984739(v=vs.71).aspx

+0

有没有任何方法我不使用dllImport方式?有没有什么办法就像添加头文件?那么我需要在lib文件中编译本地C++库,并将头文件复制到Visual C++ .NET项目中。那是对的吗? – olidev 2012-01-03 12:49:20

相关问题