Heim > Backend-Entwicklung > C++ > Warum kann dieses boost::program_options-Beispiel nicht mit libc im C 0x-Modus verknüpft werden?

Warum kann dieses boost::program_options-Beispiel nicht mit libc im C 0x-Modus verknüpft werden?

DDD
Freigeben: 2024-11-03 04:41:30
Original
675 Leute haben es durchsucht

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

Boost::Program_Options mit Clang und Libc im C 0x-Modus verknüpfen

F: Warum kann dieser Boost nicht mit libc im C 0x-Modus verknüpft werden? ::program_options-Beispiel?

Das gemeldete Problem tritt auf, wenn versucht wird, ein Beispiel für boost::program_options mit clang und libc im C 0x-Modus zu kompilieren und zu verknüpfen. Die Kompilierung ist erfolgreich, aber beim Verknüpfen werden mehrere undefinierte Symbole gefunden, was zu einem Linkerfehler führt.

A: Boost mit Clang und Libc neu erstellen

Um dieses Problem zu beheben, ist es notwendig um die Boost-Bibliotheken mithilfe von Clang mit der libc-Standardbibliothek neu zu erstellen. Die folgenden Schritte beschreiben den Prozess:

  1. Vorhandenen Boost deinstallieren:Entfernen Sie alle zuvor installierten Boost-Bibliotheken, um Konflikte zu vermeiden.
  2. Boost-Quelle herunterladen:Besorgen Sie sich den Quellcode für eine aktuelle Version von Boost von der offiziellen Website (z. B. boost.org).
  3. Boost konfigurieren:Führen Sie den folgenden Befehl aus, um Boost für die Erstellung mit Clang zu konfigurieren und libc:
./b2 toolset=clangcxx --with-libraries=program_options \
  --with-cflags="-stdlib=libc++" --with-ldflags="-stdlib=libc++"
Nach dem Login kopieren
  1. Boost erstellen und installieren: Verwenden Sie den folgenden Befehl, um die Boost-Bibliotheken zu erstellen und zu installieren:
./b2 install
Nach dem Login kopieren

Nach dem Neuaufbau von Boost mit libc sollte die Neukompilierung und Verknüpfung des boost::program_options-Beispiels unter Verwendung von clang mit der libc-Standardbibliothek ohne die zuvor aufgetretenen undefinierten Symbolfehler erfolgreich sein.

Das obige ist der detaillierte Inhalt vonWarum kann dieses boost::program_options-Beispiel nicht mit libc im C 0x-Modus verknüpft werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage