當前位置:編程學習大全網 - 網站源碼 - Linux源代碼主

Linux源代碼主

壹般缺少對應的頭文件。創建新項目時,選擇控制臺應用程序而不是MFC。

main函數應該寫成int main(),妳寫了mian。

相關的庫文件(。a/。所以)在鏈接時丟失。

這裏只舉壹個靜態庫的例子,假設源代碼如下。

將test.c編譯成靜態庫(。a)先歸檔。

gcc測試

ar -rc測試

此時,我們得到了test.a文件。我們開始編譯main.c

gcc -c主網站

這時候main.o文件就生成了,然後我們通過下面的命令鏈接,希望得到可執行的程序。

gcc -o main main

您會發現編譯器報告了壹個錯誤:

/tmp/ccCPA13l.o:在函數“main”中:

main.c:(。text+0x7):對“test”的未定義引用

集合2: ld返回1退出狀態

根本原因是找不到test()函數的實現文件。因為test()函數是在靜態庫test.a中實現的,所以後面鏈接時需要添加庫test.a,鏈接命令可以修改為如下形式。

gcc -o main主。/test.a?//註意:。/是的,給出了test.a的路徑。

擴展:同樣,為了把問題說清楚,我們把上面代碼的編譯環節分開了。如果希望壹次性生成壹個可執行程序,可以在main.c和test.a上執行以下命令

gcc -o main main。/test.a?//同樣,如果不添加test.a,會得到壹個錯誤。

  • 上一篇:如何查看自己的手機是哪個版本?
  • 下一篇:最近在玩天龍2 丐幫的 買了個毒盤子 有個高手告訴我用火的 請問下哈 我該用什麽盤子 然後該去那裏刷盤子?
  • copyright 2024編程學習大全網