GCC で `experimental::filesystem` を使用する場合のリンカー エラーを解決するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-11-15 14:07:02
オリジナル
614 人が閲覧しました

How to Resolve Linker Errors When Using  `experimental::filesystem` in GCC?

experimental::filesystem のリンカー エラーを修正する

GCC 6.0 で最新の C 1z 機能、特に Experimental::filesystem ライブラリを利用しようとする場合、次のことが考えられます。次のようなリンカ エラーが発生します:

undefined reference to `std::experimental::filesystem::v1::__cxx11::path::_M_split_cmpts()'
ログイン後にコピー

ファイルシステム TS と C の違い1z

ファイルシステム TS (技術仕様) は C 1z (現在の C 20) 標準の一部ではないことに注意することが重要です。したがって、このエラーは C 1z サポートに関連するものではなく、適切なライブラリとのリンクに関連しています。

ファイルシステム TS ライブラリとのリンク

この問題を解決するには、コードを静的ライブラリにリンクしてください - lstdc fs.これにより、experimental::filesystem 機能に必要な実装が提供されます。リンカー コマンド内で、これに依存するオブジェクトの後に忘れずに配置してください。

GCC でのファイル システム サポートの更新

2017 年 11 月:
GCC 8.x名前空間 std::filesystem の下に C 17 準拠のファイルシステム ライブラリを導入します。使用するには、-std=gnu 17 と -lstdc fs の両方が必要です。

2019 年 1 月:
GCC 9 では、-lstdc fs なしで std::filesystem コンポーネントを使用できます。

4月2024:
GCC 13.3 は、他の実験的な定義とともに、-lstdc exp で実験的::ファイルシステム シンボルを提示します。

以上がGCC で `experimental::filesystem` を使用する場合のリンカー エラーを解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート