2012-01-03 14 views
2

私はネイティブのC++プロジェクトを持っています。これは、dllまたはlibファイルのいずれかを生成することができます。Visual StudioでWindowsフォームC++ .NETプロジェクトにネイティブC++ dllを追加する方法

Visual Studio 2010でC++ .NETプロジェクト(C++ Windowsフォームアプリケーション)を作成しています。そのライブラリからパブリックメソッドを呼び出すには、このプロジェクトにそのライブラリを追加します。

I持っている3つの質問:

  1. 私はネイティブC++プロジェクトからのDLLまたはLIBファイルを作成する必要がありますか?
  2. このネイティブライブラリをC++ .NETプロジェクトに追加するにはどうすればよいですか?
  3. 私は、C++ .NETプロジェクトのネイティブライブラリからメソッドを呼び出す方法を示すサンプルコードを探しています。

私はC++ .NETの新機能です。

答えて

0

とからロードするためにDLLを指定:DllImport("user32.dll"...、あなたのピカピカの新しいマネージC++アプリケーションにご希望のアンマネージ関数をインポートするEntryPoint = "my_unmanaged_function"を設定します。

#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

関連する問題