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:
./b2 toolset=clangcxx --with-libraries=program_options \ --with-cflags="-stdlib=libc++" --with-ldflags="-stdlib=libc++"
./b2 install
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!