Visual Studio 2005 の目標は、DLL の作成時にすべてのシンボルを自動的にエクスポートすることです。 __declspec(dllexport) 注釈を手動で追加したり、.def ファイルを作成したりする必要はありません。これは可能ですか?
答え: はい、最新バージョンの CMake (バージョン 3.3.20150721-g9cd2f-win32- 以降) でこれを実現できます。 x86.exe以降)。この機能は現在開発ブランチにあり、将来のリリース バージョンに統合される予定です。
手順:
シンボルのエクスポートを有効にする: CMakeLists.txt ファイルに次の行を追加します。
set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
注: このアプローチでは、プログラム全体の最適化 (/) を無効にする必要があります。 GL) コンパイル中に。
1. __declspec(dllexport):
シンボルを明示的にエクスポートまたはインポートするには、クラス定義または関数定義の前に __declspec(dllexport) または __declspec(dllimport) を手動で追加します。
2.モジュール定義ファイル (.def) を作成します:
関数宣言を含む .def ファイルを作成するか、静的ライブラリからシンボルをエクスポートします。
以上がVisual Studio で DLL をビルドするときに、CMake はすべてのシンボルを自動的にエクスポートできますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。