linux下如何手动链接C++程序?
在RedHat Linux 9下,编译链接C++程序时,可直接使用:
g++ test.cpp -o test.out
现在想把编译和链接分开来做:
g++ -c test.cpp
生成了test.o,然后使用:
ld test.o -o test2.out
结果出现了一大堆undefined reference错误,原因是没有链接上相应的C++库
于是查了 ldd test.out,发现需要下面的库:
libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x40034000)
libm.so.6 => /lib/tls/libm.so.6 (0x400e7000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x40109000)
libc.so.6 => /lib/tls/libc.so.6 (0x42000000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
这些库应该怎么才能手动链接上呢?试了好多次都没有成功。请大家指教,谢谢!