6
我想鏈接靜態libc.a和動態庫.so失敗。如何鏈接動態lib(.so)和靜態libc.a
我已經tryied如下:
首先,我所有的動態測試:
- 的gcc -shared libtest.c -o libtest.so
- GCC -c主.c -o main.o
- gcc main.o -o test -L。 -ltest
它的工作(編譯和執行)
其次我測試我想要什麼(動態lib和靜態的libc):
- 的gcc -shared libtest.c -o libtest。所以
- GCC -c的main.c -o main.o
- GCC main.o -o測試libtest.so /usr/lib/libc.a
這是編譯,但在執行時,它segfault! strace顯示它正試圖訪問libc.so !!!
最後我試圖編譯一個簡單的編程'沒有提到動態LIB
- GCC -static的main.c - >編譯OK,OK運行
- 的gcc main.c中的/ usr /lib/libc.a - >編譯正常,運行:分段故障(第strace的顯示,它的訪問的libc.so)
如何做到這一點?
謝謝
什麼操作系統?如果您爲您感興趣的操作系統添加標籤,更多人會看到這個問題。 – caf 2010-02-01 11:40:35
gcc的版本是什麼? – BHS 2014-11-07 17:00:00