問題タブ [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.

0 投票する
0 に答える
375 参照

c++ - Makefile での C++ モジュールの使用

私は C++20 で新しいモジュール機能を使用したいと思っています。私が理解している限り、gcc と clang の両方が十分に使用できるように実装されているようです。

基本的に、私がオンラインで見るすべてのコード例は、すべてのモジュールを個別にコンパイルし、それらの順序を手動で指定します。make異なるモジュール間の依存関係を自動的に見つける方法はありますか?

Makefile基本的に次のようなものを書きたいと思います。

makeしかし、モジュールをコンパイルする必要がある順序がわからないため、これは明らかに機能しません。

そう:

  • C++ モジュールで動作するジェネリック Makefile を作成する正しい方法は何ですか?
  • C++ モジュールと を使用した重要なプロジェクトの良い例はありmakeますか?

さらに:

  • C++ モジュールと を使用した重要なプロジェクトの良い例はありcmakeますか?
0 投票する
1 に答える
790 参照

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 ヘッダー ユニットがまだサポートされていない可能性があることを教えてください。

0 投票する
0 に答える
157 参照

c++ - C++20 モジュール インターフェイス & #pragma warning

#pragma warningモジュール インターフェイスでVC++ を動作させることができないようです。何か変わった?

例:

さらに、モジュールとしてヘッダーを含めるためのこの警告管理をどのように行うのですか? すなわち

警告も発生します。これは同じバグの一部ですか、それとも外部モジュール ヘッダーからの警告を無効にする特定の方法はありますか?