私のアプリケーションでRegexを使う必要があります。私はBoost(Regex)を使っていましたが、これはgcc 4.9でサポートされています。同様に標準Regexライブラリはonle gcc version> = 4.9と互換性があります。 gcc 4.8.5と互換性のあるC++ Regexライブラリはありますか? 注:gccのバージョンを更新できませんgcc用Regexライブラリ4.8
1
A
答えて
0
std::shared_ptr
を使用するマルチスレッドプログラムで、gcc 4.9とgcc 6.3(JessieのDebian Stretchにアップグレードした後)と同じ問題がありました。問題は、gcc 4.9がマルチスレッドの問題であったstd::atomic_load
をサポートしていないことでした。
したがって、解決策は簡単です:boostとstdは(ほぼ)同じインターフェイスを共有しているので、detectsコンパイラのバージョンのヘッダファイルを作成することができます。それが4.9以上だ場合は、STDの正規表現を使用し、それ以外の場合は、使用ブースト正規表現:
#ifdef __GNUC__
#if __GNUC__ > 4 || \
(__GNUC__ == 4 && (__GNUC_MINOR__ > 9 || \
(__GNUC_MINOR__ == 9 && \
__GNUC_PATCHLEVEL__ > 0))
#include <regex>
#define Regex std::regex
#else
#include <boost/regex.hpp>
#define Regex boost::regex
#endif
#endif
そして、あなたは正規表現を必要とし、このファイルを使用すると、コンパイラが自動的にすべての選択を行います。正規表現の関数とオブジェクトを呼び出すために作成した新しい定義を使用してください。
関連する問題
- 1. GCC 4.8 DWARF4対DWARF2
- 2. Debianにgcc 4.8をインストールする
- 3. MAC OS X 10.8でgcc 4.8が "x86_64アーキテクチャ用の未定義シンボル:"
- 4. C++ 11:GCC 4.8静的thread_local std :: unique_ptr未定義参照
- 5. gcc-4.8はテストプログラムをコンパイルできませんか?
- 6. GCC 4.8:-Ogは-gを意味しますか?
- 7. XcodeのC/C++コンパイラとしてのGCC 4.7/4.8
- 8. GCC 4.8でlibstdC++を設定するには?
- 9. GCC 4.8が可変テンプレートパラメータパックを逆転しています
- 10. gccライブラリの混乱
- 11. LSB AppChecker:未使用ライブラリとのGCCリンク
- 12. pccライブラリでgccコンパイラで使用する
- 13. gccライブラリ関数のマニュアルページ
- 14. GCC共有ライブラリの問題
- 15. gccのstd :: regex無限ループ5.4
- 16. アクセスログのIncutio XML-RPC PHPライブラリ - WordPress/4.8のレコード
- 17. Phoenix 4.8 Issue
- 18. テキストウィジェットWordPress 4.8
- 19. tinyMCE.editors [] wordpress 4.8 undefined
- 20. Visual Studio 2012(x86)用Qt 4.8.xのコンパイル
- 21. gccバージョンベースのライブラリの未参照シンボル
- 22. gccライブラリをmingwでクロスコンパイルするには?
- 23. clang ++ v4とgcc 6.3ライブラリを持つカスタムアロケータ
- 24. gcc:ソースファイルと同じフォルダにライブラリをリンク
- 25. CプログラムとC++ライブラリ(GCC 4.5+)のリンク
- 26. GCC - 標準ライブラリの致命的なエラー
- 27. gcc 4.7ペアインプリメントでのSTLライブラリの不足?
- 28. gccを-lと-Lとリンクするライブラリ
- 29. カスタムgccコンパイラにライブラリを追加する
- 30. 特定のライブラリをgccにリンクする