【发布时间】: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
请注意:在决定发布此问题之前,我查阅了以下资源:
- usr/bin/ld: cannot find -l<nameOfTheLibrary>
- https://askubuntu.com/questions/1007591/usr-bin-ld-cannot-find-lopencl
总结性问题:
q1。在 CentOS 7 上尝试使用 lexbor 编译 C 程序时如何解决此错误?
【问题讨论】:
标签: c gcc linker shared-libraries centos7