【问题标题】:lexbor C: How to correctly install and use on CentOS 7lexbor C:如何在 CentOS 7 上正确安装和使用
【发布时间】:2021-12-06 15:25:05
【问题描述】:

目标:

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

当前输出:

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

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

详情:

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

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

请注意:在决定发布此问题之前,我查阅了以下资源:

  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 程序时如何解决此错误?

【问题讨论】:

    标签: c gcc linker shared-libraries centos7


    【解决方案1】:

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

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

    【讨论】:

    • 感谢您的帮助,解决了。
    猜你喜欢
    • 2021-12-06
    • 2016-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-13
    • 2018-05-28
    • 2023-03-22
    • 2019-07-03
    相关资源
    最近更新 更多