Ich versuche C++ tiefer zu lernen, indem ich die Quelle von STL sowie Debugging es lerne, also will ich libstdc++
statisch zu meinem Programm verbinden, und es funktioniert gut mit g++
. Wie kann ich das gleiche mit clang++
in llvm erreichen?Wie man libstdC++ statisch mit clang ++
Auf andere Weise ist die Frage, was ist das clang++
Entsprechung von -static-libgcc
?
Makefile
Ich
CXX=g++
CC=g++
LDFLAGS=-g -O0 -static-libgcc
CFLAGS=-O0 -Wall
CXXFLAGS=$(CFLAGS)
Ich glaube nicht statische Linken ist das, was Sie brauchen. Sie benötigen Debuginformationen für die Bibliothek, unabhängig davon, ob sie statisch oder dynamisch sind. Sie können dies an verschiedenen Orten in verschiedenen Linux-Distributionen finden; einige haben eine statische Bibliothek mit Debug-Informationen, andere haben irgendwo eine gemeinsam genutzte Bibliothek entfernt, einige haben nur Debug-Informationen für die gemeinsame Bibliothek (z. B. Debian/Ubuntu tut dies normalerweise). –
Ich habe in g ++ versucht, und statische Verknüpfung funktioniert, und ich denke, es ist, weil meine libstdC++. A nicht entfernt wird, während libstdC++. Dylib ist. Meinst du, ich sollte eine gemeinsame Bibliothek finden, die nicht entkleidet ist? – Haocheng