lexbor C:如何在CentOS 7上正确安装使用

lexbor C: How to correctly install and use on CentOS 7

目标:

在 CentOS 7 上正确安装和使用lexbor

当前输出:

当我使用 lexbor 和命令 gcc example.c -liblexbor -std=c99 -o exampleCentOS 7 上编译程序时,收到以下错误:

[user@localhost]$ gcc example.c -liblexbor -std=c99 -o example
/usr/bin/ld: cannot find -liblexbor
collect2: error: ld returned 1 exit status

详情:

我按照说明为 CentOS 7 安装了 lexbor found at this link for CentOS 7. 链接器似乎找不到库。我 运行 命令 ldconfig -p 找到 lexbor 库的路径,它返回:

liblexbor.so.2 (libc6,x86-64) => /lib64/liblexbor.so.2

找到路径后,我 运行 使用与上面看到的相同的编译命令重新编译了以下两个命令,但显示了相同的错误消息:

[user@localhost]$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/lib64/liblexbor.so.2
[user@localhost]$ sudo ldconfig

然后我尝试了一种不同的方法,看看是否可以通过将路径嵌入编译命令来解决这个问题,但这导致了相同的输出:

gcc -L/lib64/ -liblexbor -std=c99 example.c -o example

请注意:在决定post这个问题之前,我参考了以下资源:

  1. usr/bin/ld: cannot find -l<nameOfTheLibrary>
  2. https://askubuntu.com/questions/1007591/usr-bin-ld-cannot-find-lopencl

总结题:

q1。在 CentOS 7 上使用 lexbor 编译 C 程序时如何解决这个错误?

您指定的库名称不正确。对于名为 liblibrary.so 的给定库文件,正确的选项是 -l 库。所以你需要这样编译:

gcc example.c -llexbor -std=c99 -o example