0
我不知道哪裏出了問題我的服務器上,它的運行CentOS的7,我最近想建一個圖書館,得到了錯誤:GCC總是試圖用靜態的libc庫,而不是共享
/usr/bin/ld: dynamic STT_GNU_IFUNC symbol `strcmp' with pointer equality in `/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(strcmp.o)' can not be used when making an executable; recompile with -fPIE and relink with -pie
collect2: error: ld returned 1 exit status
首先,我認爲這是在庫中源代碼錯誤,但一些測試後,我創建了一個最小的工作C++程序:
#include <iostream>
int main() {
std::cout<<"works!";
}
我試圖建立其第一靜態...
gcc -static main.c
作品。產生a.out
,這是我所期待的,現在如果我型...
gcc main.c
我得到同樣的錯誤如上,它試圖鏈接libc.a的,但我沒有指定靜態鏈接。