這裏是我的代碼:GCC:錯誤:libhello.so:沒有這樣的文件或目錄
// hello.c
#include<stdio.h>
int main(int argc, char **argv) {
return (0);
}
我在終端上鍵入gcc hello.c -o -shared libhello.so
並獲得:
gcc: error: libhello.so: No such file or directory
問題:如何編譯.c文件到.so文件與一個命令行
更新:如果我用gcc hello.c -shared -o libhello.so
修復它,但我只是有些困惑,爲什麼錯誤信息是「gcc:error:libhello.so:沒有這樣的文件或目錄」,而不是「gcc:error:libhello.so:沒有這樣的文件或目錄'-shared'「
'gcc hello.c -o -shared libhello.so'的意思是「編譯文件'hello.c'和'libhello.so',並將結果放入文件'-shared'」。由於輸出文件將在編譯期間創建,因此編譯器不會發出缺少警告。然而,源文件的存在對於編譯成功是必要的,因此會發出錯誤消息。 – 2014-11-04 09:53:12