タイトルが混乱している場合は、ごめんなさい。とにかく、私はC++の小さなゲームエンジンで作業しています。私はそれをモジュール化したいと思います。私はそこにコアモジュールを置いておき、2Dグラフィックス、3Dグラフィックス、オーディオ、物理学などを使って他のモジュールをインストールすることができます。私のVSソリューションの別のプロジェクトでは、DLLがコンパイルされているが、コアはlibである。コアlibは、dllで定義できるENGINE_2D_GRAPHICS_MODULE
のようなマクロをチェックすることで、インストールされているモジュールを確認できます。私はこれをどのようにして行い、より良い方法がありますか?私はおそらくもっと良い方法があると確信していますが、それはidkです。マクロを使用してDLLを動的にロードする方法
1
A
答えて
2
マクロはコンパイル時の定数なので、新しいモジュールのインストール時にこのようにコアモジュールに影響を与えることはできません。追加のモジュールがファイルシステムに存在するかどうかを検出し、LoadLibrary(Windowsの場合)またはdlopen(POSIX準拠のシステムの場合)を使用してロードすることをお勧めします。
別のオプションは、ゲーム開発者(つまりエンジンユーザー)にライブラリを静的にリンクさせ、必要な部分のみをコンパイルすることです。
関連する問題
- 1. Activator.CreateInstanceFromを使用してDLLをロードする方法
- 2. CSharpCodeProviderを使用して生成されたdllを動的にロード/アンロードする
- 3. C++サードパーティのDLLファイルを動的にロードする方法
- 4. Velocityマクロを使用してページコンテンツを動的にレンダリングする
- 5. プラグインメカニズムを使用してランタイム中にデータ型を動的にロードする方法
- 6. ユーザサービスを使用して角度状態を動的にロードする方法
- 7. C++オブジェクトを動的にロードしてラッパーインターフェイスを使用する方法
- 8. SASマクロを使用して選択したファイルのリストをロードする方法
- 9. 別のDLL内でDLLを動的にロードする
- 10. 動的にjsonを使用してツリーをロードする
- 11. ロケールファイルを動的にロードするRequirejsを使用して
- 12. JavaScriptを使用して動的にChoroplethをロードする
- 13. ネイティブDLLファイルを動的にロードおよびアンロードする方法は?
- 14. dllの一部としてVC++静的ライブラリにカスタムバイナリリソースをロードする方法は?
- 15. URLClassLoaderを使用して動的にJARをロードしますか?
- 16. 動的キーを使用してオブジェクトにアクセスする方法は?
- 17. FlexSliderを動的ロード用に再初期化する方法
- 18. 動的にdllをフィットネス器具にロードする
- 19. 私のプログラムにDLLを動的にロードする際の問題
- 20. C++:異なるディレクトリのマニフェストとDLLを動的にロードする
- 21. 反映と代理を使用してDLLを動的にリンクする
- 22. ASP.Netを使用して動的コンテンツフラッシュオブジェクトを作成する方法
- 23. 動的クエリを使用してテンポラリテーブルを作成する方法
- 24. バターナイフを使用して動的ビューをバインドする方法
- 25. SubSonicを使用して動的クエリを作成する方法
- 26. 手動でMFC独自の言語DLLをロードする方法
- 27. 引数を指定してjavascript関数(DojoでAjaxを使用)を動的にロードする方法
- 28. DirectoryCatalogの使用時に動的にパーツ(DLL)を変更する
- 29. 動的行を集計するマクロを書く方法
- 30. プラットフォームに応じてDLLをロードする方法
ありがとう!私はおそらくcmakeを使用して、コンパイルするパートをユーザーが選択できるようにします。答えはthxです。 – PlanetVaster