【发布时间】:2012-12-03 08:28:31
【问题描述】:
我正在尝试通过阅读 STL 的源代码并对其进行调试来更深入地学习 C++,因此我想将 libstdc++ 静态链接到我的程序,并且使用 g++ 可以正常工作。但是,如何在 llvm 中使用 clang++ 实现相同的效果?
另一个问题是,clang++ 相当于 -static-libgcc 是什么?
Makefile我正在使用
CXX=g++
CC=g++
LDFLAGS=-g -O0 -static-libgcc
CFLAGS=-O0 -Wall
CXXFLAGS=$(CFLAGS)
【问题讨论】:
-
我不认为静态链接是你需要的。您需要有库的调试信息,无论它是静态的还是动态的。你可以在不同的 Linux 发行版的不同地方找到它;有些有带有调试信息的静态库,有些在某处有未剥离的共享库,有些只是共享库的调试信息(例如 Debian/Ubuntu 通常这样做)。
-
我在 g++ 中尝试过,并且静态链接有效,我想这是因为我的 libstdc++.a 没有被剥离,而 libstdc++.dylib 是。你的意思是我应该找到一个没有被剥离的共享库?
标签: llvm clang static-linking