编译时如何将libevent与gcc静态链接?

Posted

技术标签:

【中文标题】编译时如何将libevent与gcc静态链接?【英文标题】:How to statically link libevent with gcc while compiling? 【发布时间】:2009-11-11 17:40:20 【问题描述】:

我在我的项目中使用了 event.h,但它必须运行的服务器不支持它。此外,我也无法安装它。有没有一种方法可以让我以最少的修改运行我的项目。

它必须被编译成静态链接,但我该怎么做呢?

【问题讨论】:

【参考方案1】:

你是什么意思运行它的服务器不支持它?如果未安装共享库,您可以使用静态链接的库构建您的项目。

或者,编译 libevent 的共享库并将其包含在您的应用程序中。我已经成功使用 ELF 二进制文件和共享库中的 RUNPATH 标头将应用程序目录放在动态库加载搜索路径的开头。

https://github.com/wavetossed/pybuild 是 Python 2.7.2 和几十个二进制模块的构建脚本示例,其中包括使用 libevent。使用 RUNPATH 构建单个库要简单得多。

【讨论】:

以上是关于编译时如何将libevent与gcc静态链接?的主要内容,如果未能解决你的问题,请参考以下文章

静态链接库asan与gcc 4.8

gcc/g++实战之动态链接库与静态链接库编写

gcc升级后静态库要升级吗

Windows 上静态编译 Libevent 2.0.10 并实现一个简单 HTTP 服务器(无数截图)

Windows 上静态编译 Libevent 2.0.10 并实现一个简单 HTTP 服务器(图文并茂,还有实例下载)

OpenCV静态库编译与链接