c - 尽管已包含所有必需的文件,但如何修复“对‘某物’的未定义引用”?
问题描述
Github :: https://github.com/mmgaggle/sslsqueeze
我正在尝试从 github 的源代码构建一个名为“ sslsqueeze ”的代码。我已经安装了所有必需的库,但是“ make ”命令由于某种原因仍然无法链接它们。我确信我在这里遗漏了一个非常简单的点/步骤,但是经过数小时的调试,我转向你。
sslsqueeze.c文件包含以下行:
**sslsqueeze** needs to be linked with -levent_core from libevent2 library.
因此,我已经安装了libevent-dev库。我运行这个命令:
make
这是我的错误列表:
sslsqueeze.o: In function `new_connection':
sslsqueeze.c:(.text+0x57): undefined reference to `bufferevent_socket_new'
sslsqueeze.c:(.text+0x68): undefined reference to `bufferevent_set_timeouts'
sslsqueeze.c:(.text+0x88): undefined reference to `bufferevent_setcb'
sslsqueeze.c:(.text+0x9d): undefined reference to `bufferevent_socket_connect'
sslsqueeze.o: In function `read_cb':
sslsqueeze.c:(.text+0x161): undefined reference to `bufferevent_read'
sslsqueeze.c:(.text+0x20d): undefined reference to `bufferevent_free'
sslsqueeze.c:(.text+0x25d): undefined reference to `bufferevent_write'
sslsqueeze.c:(.text+0x288): undefined reference to `bufferevent_write'
sslsqueeze.c:(.text+0x2b3): undefined reference to `bufferevent_write'
sslsqueeze.o: In function `event_cb':
sslsqueeze.c:(.text+0x2ed): undefined reference to `bufferevent_free'
sslsqueeze.o: In function `write_cb':
sslsqueeze.c:(.text+0x136): undefined reference to `bufferevent_enable'
sslsqueeze.o: In function `event_cb':
sslsqueeze.c:(.text+0x32c): undefined reference to `bufferevent_write'
sslsqueeze.o: In function `main':
sslsqueeze.c:(.text.startup+0x1f9): undefined reference to `event_base_new'
sslsqueeze.c:(.text.startup+0x229): undefined reference to `event_base_dispatch'
collect2: error: ld returned 1 exit status
<builtin>: recipe for target 'sslsqueeze' failed
make: *** [sslsqueeze] Error 1
经过一些研究,我尝试了以下命令,结果相同:
make -levent_core
gcc -levent_core sslsqueeze.c -o take6
gcc -L/usr/lib/x86_64-linux-gnu sslsqueeze.c -o take8
以下也没有成功。他们给出了“找不到文件”错误。
gcc -L/usr/lib/x86_64-linux-gnu -libevent_core.so sslsqueeze.c -o take7
gcc -L/usr/lib/x86_64-linux-gnu -libevent_core.a sslsqueeze.c -o take7
最后一条信息。头文件在/usr/include/event2
libevent_core 文件位于/usr/lib/x86_64-linux-gnu/
(2 个文件,一个扩展名为 .so,另一个扩展名为 .a)
任何帮助,将不胜感激!
解决方案
推荐阅读
- javascript - 在 Node.js 中制作字节数组(来自文件)以在 Java 中使用
- reactjs - DOM 顺序对具有 RTL/LTR 选项的 Web 组件的可访问性很重要?
- reactjs - 搜索结果未推送到 MenuItem 下拉菜单
- sql-server - SQL Server 中的 WHERE EXISTS 慢
- git - 是否有一个实用程序/工具可以将 Git 注释提取到一个不错的发行说明文档中?
- r - Cran-R BatchGetSymbols:什么是获取限制,如何保持安静,我可以传递日期向量吗?
- outlook - 如何将Outlook代码更改为后期绑定
- python - Pytorch 修改数据集标签
- r - RStudio 包检查失败,使用缓存的、已删除的信息
- java - 打印 ArrayList 中的最小对象