藍森林首頁 | 返回主頁 | 本站地圖 | 站內搜索 | 聯繫信箱 |
 您目前的位置:首頁 > 自由軟件 > 技術交流 > 應用編程


    

藍森林 http://www.lslnet.com 2006年6月6日 10:18


在UNIX下用gcc編譯的問題?

出現報錯如下:undefined first referenced
如何解決此問題。急急
謝謝!

在UNIX下用gcc編譯的問題?

把詳細報錯信息貼出來

是不是調用庫函數了?

在UNIX下用gcc編譯的問題?

調用了庫函數,庫函數中包含了函數:aaa,bbb,ccc,ddd
出現報錯如下:
Undefined    first referenced
  symbol            in file
aaa                   /a/tmp/cc1.o
bbb                   /a/tmp/cc1.o
ccc                     /a/tmp/cc1.o
ddd                   /a/tmp/cc1.o
id:  fatal:Symbol referencing errors.No output written to testone.exe
如何解決此問題?
謝謝!

在UNIX下用gcc編譯的問題?

如果是同文件的函數,可能是你沒有申明
如果是調用庫中的,你看看編譯的時候有沒有-l進去

在UNIX下用gcc編譯的問題?

是調用庫中函數,我編譯的時候有沒有-l進去,-l的命令格式
是什麼?
請舉一個例子。

在UNIX下用gcc編譯的問題?

gcc -o outfile sourcefile.c -L/lib/path -lname

要把sourcefile.c防在-lname前面

庫文件的名稱為
libname.a(靜態庫)
libname.so/sl(動態庫)

注意-l[b]name[/b]

在UNIX下用gcc編譯的問題?

文件one.c在當前路徑下 ,one.c的上級lib目錄中下有庫文件liba.a
編譯如下:
gcc -o one.exe one.c -L ../lib/liba.a

執行完後一樣的錯誤提示,是寫的格式不對還是路徑錯誤?

在UNIX下用gcc編譯的問題?

gcc -o one.exe one.c -L../lib -la
試一下!

或者
gcc -c one.exe one.c -l../lib/liba.a


另外,你有沒有仔細看我上面寫的用法啊!!!!! :evil:

在UNIX下用gcc編譯的問題?

-lname 還不明白
如:gcc -o one.exe one.c -L../lib -la
-l 後面帶什麼,-la  中 a 代表什麼?
謝謝

在UNIX下用gcc編譯的問題?

a代表什麼?!!?

lib[b]a[/b].a中的[b]a[/b]
你不是說你的庫文件是liba.a
那麼編譯的時候只需要-la就可以了
即庫文件為lib[b]name[/b].a
編譯時只需要-l[b]name[/b]即可

在UNIX下用gcc編譯的問題?

如果你的原文件真的是one.c,庫文件真的是../lib/liba.a的話
原模原樣的執行
gcc -o one.exe one.c -L../lib -la
試一下!!!!

在UNIX下用gcc編譯的問題?

L後面別留空格

在UNIX下用gcc編譯的問題?

gcc -o one.exe one.c -L../lib -la

路徑是對的,但還是沒有發現庫文件,提示如下:
id: fatal:  library   -la:   not found
有更好的方法處理嗎?
謝謝!

在UNIX下用gcc編譯的問題?

gcc -o one.exe one.c ../lib/liba.a
試一下

在UNIX下用gcc編譯的問題?

既然是找不到庫
那就在.profile裡面把路徑加上吧

在UNIX下用gcc編譯的問題?

如何在.profile裡面把路徑加上
請簡要描述。

在UNIX下用gcc編譯的問題?

-->

沒那麼簡單吧!

gcc -o one.exe one.c ../lib/liba.a
沒試一下嗎?

在UNIX下用gcc編譯的問題?

執行了下面語句:
gcc -o one.exe one.c ../lib/liba.a

還是找不到庫.
還有高招請支出。

在UNIX下用gcc編譯的問題?

如果是連接的話
應該是-la -L(liba 所在路徑)

在UNIX下用gcc編譯的問題?

執行命令:gcc -o one.exe one.c -la -L../lib
一樣的報錯,沒有找到庫。
有成功的例子請舉一個。

或是抱錯的原因是?



Copyright © 1999-2000 LSLNET.COM. All rights reserved. 藍森林網站 版權所有。 E-mail : webmaster@lslnet.com