-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&T lex,而是(很可能)flexflex 有一个库——libfl.alibfl.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 的标志是啥?的主要内容,如果未能解决你的问题,请参考以下文章

在不丢失 .data 常量的情况下混合汇编和 C 的正确标志是啥

init是啥意思

如何在 gcc 中启用单个优化标志?

GCC 优化标志

不可见的 GCC 优化标志?

GCC - 包含编译标志的宏