2013-03-31 128 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