問題タブ [c++-modules]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - Makefile での C++ モジュールの使用
私は C++20 で新しいモジュール機能を使用したいと思っています。私が理解している限り、gcc と clang の両方が十分に使用できるように実装されているようです。
基本的に、私がオンラインで見るすべてのコード例は、すべてのモジュールを個別にコンパイルし、それらの順序を手動で指定します。make
異なるモジュール間の依存関係を自動的に見つける方法はありますか?
Makefile
基本的に次のようなものを書きたいと思います。
make
しかし、モジュールをコンパイルする必要がある順序がわからないため、これは明らかに機能しません。
そう:
- C++ モジュールで動作するジェネリック Makefile を作成する正しい方法は何ですか?
- C++ モジュールと を使用した重要なプロジェクトの良い例はあり
make
ますか?
さらに:
- C++ モジュールと を使用した重要なプロジェクトの良い例はあり
cmake
ますか?
c++ - CLang C++でヘッダーユニットモジュールをコンパイル/使用するには?
ドキュメントでは、CLang でのモジュールのサポートは部分的であると言われています。LLVM 12.0 の最近のリリースから Windows 64 ビットで CLang を使用しています。
通常のモジュールを使用することに成功しました(を介してインポートしますimport modulename;
)。
しかし、ヘッダー ユニット モジュールを作成して使用することはできませんでしたimport "header.hpp";
。例でそれを行う方法を提案できますか?
ヘッダー ユニットを試すために、次のおもちゃのファイルを作成しました。
こんにちは.hpp :
use.cpp :
次に、ヘッダーユニットhello.hpp
をPCMファイルに正常にコンパイルしました(希望します):
コマンドはエラーなしで実行され、生成されhello.pcm
ました。上記のコマンドを-o
フラグなしで実行すると、ファイル
hello.hpp.gch
が作成されます。
次に、 をコンパイルしようとしましuse.cpp
たが、成功しませんでした。どういうわけか、ヘッダー ユニットを認識できないか、対応する が見つかりませんhello.pcm
。ヘッダーユニットであることをコンパイラに示す特別なフラグがいくつか欠けていると思います。次のコマンドが使用されました。
コンパイルエラーが発生しました:
MSVC では、通常のモジュールとヘッダー ユニット モジュールを使用することに成功しました。しかし、CLang ではありません。それを手伝ってもらえますか?または、CLang ヘッダー ユニットがまだサポートされていない可能性があることを教えてください。
c++ - C++20 モジュール インターフェイス & #pragma warning
#pragma warning
モジュール インターフェイスでVC++ を動作させることができないようです。何か変わった?
例:
さらに、モジュールとしてヘッダーを含めるためのこの警告管理をどのように行うのですか? すなわち
警告も発生します。これは同じバグの一部ですか、それとも外部モジュール ヘッダーからの警告を無効にする特定の方法はありますか?