Visual Studio 2005 で DLL を作成する場合、個々のシンボルやシンボルを手動でエクスポートするのは不便な場合があります。モジュール定義 (.def) ファイルを使用します。この記事では、面倒な宣言を必要とせずにすべてのシンボルを自動的にエクスポートするソリューションを提供します。
最新の CMake バージョン (>= 3.3.20150721-g9cd2f) には、次の機能が提供されています。自動シンボルエクスポート。 set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) を CMakeLists.txt ファイルに追加すると、コンパイラは手動の注釈を必要とせずにすべてのシンボルをエクスポートします。
利点:
制限事項:
CMake は次のアプローチを使用します:
使用するにはこの機能を使用するには、次の CMakeLists.txt を使用して CMake プロジェクトを作成します。ファイル:
cmake_minimum_required(VERSION 2.6) project(myproject) set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) set(SOURCE_EXE main.cpp) include_directories(...) add_executable(main ${SOURCE_EXE}) target_link_libraries(main ...)
プロジェクトをコンパイルすると、すべてのシンボルが自動的にエクスポートされた状態で DLL が作成されます。
シンボルをエクスポートするには、他にも次のような方法があります。として:
ただし、これらのアプローチは、CMake ソリューションと比較して時間がかかる場合や制限がある場合があります。
以上がCMake を使用して Visual Studio で DLL を作成するときに、すべてのシンボルを自動的にエクスポートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。