2013-03-31 116 views
3

我想編譯一個程序,有-ll標誌但gcc找不到。 -l真的是圖書館還是這是一個錯字,l是什麼?在google上很難找到關於此的信息。這個詞是「模糊的」。什麼是-ll gcc的標誌?

回答

5

-ll表示鏈接到Solaris's libl lex library(可在/usr/lib/libl.so獲得)。

(該-l選項獲取庫的名稱,減去lib前綴和文件擴展名。)

+0

非常感謝。我可以編譯沒有這個標誌在Linux上。我可以在最終的可執行文件中遇到問題嗎? – Jack

+4

如果你在Linux上,你不是使用AT&T'lex',而是(最有可能)'flex'。有一個'flex'庫'''libfl.a'或'libfl.so'或類似庫,並且你可以用'-lfl'連接它。但是,它提供了一個虛擬'yywrap()'和一個虛擬'main()',所以你通常不需要它。 'lex'庫提供的不僅僅是這些,比如支持'yyreject',所以它是必須的。 –

+0

@JonathanLeffler:謝謝! – Jack