ホームページ > バックエンド開発 > C++ > C 0x モードで libc を使用してこの boost::program_options サンプルをリンクできないのはなぜですか?

C 0x モードで libc を使用してこの boost::program_options サンプルをリンクできないのはなぜですか?

DDD
リリース: 2024-11-03 04:41:30
オリジナル
658 人が閲覧しました

Why can't clang   with libc   in C  0x mode link this boost::program_options example?

C 0x モードで Clang および Libc と Boost::Program_Options をリンクする

Q: C 0x モードで libc と Clang をリンクできないのはなぜですか? ::program_options example?

報告された問題は、C 0x モードで Clang および libc を使用してサンプル boost::program_options サンプルをコンパイルしてリンクしようとすると発生します。コンパイルは成功しますが、リンク中にいくつかの未定義シンボルが発生し、リンカー エラーが発生します。

A: Clang と Libc を使用して Boost を再構築する

この問題を解決するには、次のことが必要です。 libc 標準ライブラリで Clang を使用してブースト ライブラリを再構築します。次の手順でプロセスの概要を説明します:

  1. 既存のブーストをアンインストールします: 競合を避けるために、以前にインストールされたブースト ライブラリを削除します。
  2. ブースト ソースをダウンロードします: 公式 Web サイト (boost.org など) から Boost の最新バージョンのソース コードを入手します。
  3. Boost の構成: 次のコマンドを実行して、clang を使用してビルドするために Boost を構成しますlibc :
./b2 toolset=clangcxx --with-libraries=program_options \
  --with-cflags="-stdlib=libc++" --with-ldflags="-stdlib=libc++"
ログイン後にコピー
  1. Boost のビルドとインストール: 次のコマンドを使用して、Boost ライブラリをビルドしてインストールします:
./b2 install
ログイン後にコピー

libc を使用して Boost を再構築した後、 libc 標準ライブラリで Clang を使用した boost::program_options サンプルの再コンパイルとリンクは、以前に発生した未定義シンボル エラーなしで成功するはずです。

以上がC 0x モードで libc を使用してこの boost::program_options サンプルをリンクできないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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