-ll gcc 的标志是啥?
Posted
技术标签:
【中文标题】-ll gcc 的标志是啥?【英文标题】:What is -ll gcc's flag?-ll gcc 的标志是什么? 【发布时间】:2013-03-31 17:14:03 【问题描述】:我正在尝试编译一个有 -ll
标志但 gcc 找不到的程序。 -l
之后的 l
是什么,真的是一个图书馆,还是这是一个错字?在 google 上很难找到这方面的信息。这样的术语是“模糊的”。
【问题讨论】:
【参考方案1】:-ll
表示链接到Solaris's libl lex library(在/usr/lib/libl.so
中可用)。
(-l
选项采用库的名称,减去 lib
前缀和文件扩展名。)
【讨论】:
非常感谢。我可以在 linux 上编译没有这个标志。我可以在最终的可执行文件中遇到问题吗? 如果你在 Linux 上,你没有使用 AT&Tlex
,而是(很可能)flex
。 flex
有一个库——libfl.a
或libfl.so
或类似的——你可以使用-lfl
与它链接。但是,它提供了一个虚拟yywrap()
和一个虚拟main()
,因此您通常不需要它。 lex
库提供的还不止这些,比如支持yyreject
,所以很有必要。【参考方案2】:
就我而言,flex
默认情况下没有安装 libfl
库(使用 Linux Mint)
所以我不得不单独安装libfl-dev
库
sudo apt install libfl-dev
并在命令行中包含-lfl
选项而不是-ll
,如
gcc myfile.c -lfl -o myfile
【讨论】:
以上是关于-ll gcc 的标志是啥?的主要内容,如果未能解决你的问题,请参考以下文章