hakeの日記

Windows環境でプログラミングの勉強をしています。

静的ライブラリのリンク

昨日の疑問点だったlibstdc++をstaticに取り込む方法、判ってみれば簡単なことだった。普通にcppなソースと同等に扱えば良いみたい。

$ gcc -L. -lcalc main.cpp libstdc++.a

ポイントは.cppや.oよりも後に書くこと。lddの出力は以下

$ ldd a.out

	libcalc.so.1 => ./libcalc.so.1 (0x40022000)
	libgcc_s.so.1 => /opt/zgcc42/lib/libgcc_s.so.1 (0x4002b000)
	libc.so.6 => /lib/libc.so.6 (0x4003b000)
	/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)