未找到-lfl的库
Library not found for -lfl
我正在使用 flex
和 bison
来构建我从github克隆的简单计算器项目。
但是在终端输入make
后,我收到了以下消息:
gcc -o calc calc.tab.c lex.yy.c -lfl
calc.y:48:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
main() {
^~~~
1 warning generated.
ld: library not found for -lfl
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [calc] Error 1
我如何解决此问题?
让我猜测,尝试在OS/X上使用Flex?
尝试-ll而不是-lfl
在OS/X
上使用Flex是的,由于某种原因,OS/X上的Flex库名称只是任意不同的。OS/X并非完全是Linux,但非常接近。您在这里有一些选择。
您只需仅拥有一个单独的构建系统和OS/X的源文件即可。当然,苹果可能会因为推动Xcode,Objective-C而不是太多的互操作性而喜欢。
您可以构建VS Linux,然后与Mac端口和自制。
您可以使用Autotools创建项目。这不是一个很棒的链接,学习该系统很粗糙,但是对于Linux来说,这是一件标准的事情。这实际上会起作用,如果您对此有耐心,OS/X足够近,以至于基于自动的构建将可以使用。
最近,我被开启了可可录,我认为这是加入开源社区和Xcode的尝试。这是一种半为1和3 sorta,重点是将外部源模块化并将其编译到.App(通过Xcode)中。
警告:键入指定符,默认为'int'
意味着您应该声明主函数的返回类型。将int
放置在功能分化中。
ld:未找到-lfl
的库
flag -l表示组合必须使用 libfl.a
来构建程序。正如@Wateim上面所说,对于Mac OS,您可以使用libl.a,但是该lib可能不存在ALSE。还有另一种方法是放置
%option noyywrap
在flex *.l文件的顶部。在这种情况下,您可以不用其他液体进行编译。
相关文章:
- C/C++编译器通常会删除重复的库吗
- 如何将C++中的库和头与MinGW一起使用
- 将--whole archive链接器选项与CMake和具有其他库依赖项的库一起使用
- 构建一个由C和C++文件组成的库
- 对于MacOS上的G++,如何添加默认的include目录/usr/local/include和默认的库搜索路径/usr
- 为重写std::exception的库生成swig接口时出错
- 我可以在 Arduino 的库文件夹之外安装库吗?
- 我希望定义两个具有相同代码的不同名称的库
- 运行命令 "rosbag play example.bag" 时出错。找不到与插件 rosbag/NoEncryptor 对应的库
- 更新后的Android Studio现在需要Clang,不再链接到GCC的库
- 包括没有完整路径的我的库
- 如何允许编译器查找通过 brew 安装的库
- 以现代 CMake 方式控制包含的库中的构建选项(测试等)
- 从 CMake 中的库目录加载共享库?
- Windows (COM) API 的行为不同,没有特定的库
- 如何使用我构建的库,而不会从源代码出错,但不为我自己的项目编译?
- 如何编译使用从不同编译器编译的库的应用程序?
- OS X: ld: 找不到 -lstdc++ 的库
- Debian Buster 中的库不匹配?
- 未找到-lfl的库