ubuntu - -dev 包的实际构建命令是什么?

标签 ubuntu makefile cmake build

我正在使用 https://github.com/shadowsocks/shadowsocks-libev
发现 ubnutu apt-get 下有 *-dev lib

libshadowsocks-libev-dev - lightweight and secure socks5 proxy (development files)
但是使用默认make,它并没有像我预期的那样生成so,只是执行了二进制文件
我也试过在源代码下进行一些 grep 搜索仍然无法弄清楚
所以有人能告诉我如何构建 libshadowsocks-libev-dev,更具体地说是 libshadowsocks-libev.so
除此之外,对于所有这些 *-dev 包,是否有任何正式的构建步骤?

最佳答案

-dev 没有任何非常具体的指导。包一般。创建包的人创建了 debian/rules及其支持基础设施,从上游包源构建两个或多个包,并决定将其中一些文件放在 -dev包,这样只需要二进制的人就可以只安装二进制,想要更多的人可以同时安装这两个包。
通常,非 -dev包安装库文件,-dev包包含 C 头文件和/或类似资源,供想要编译使用此库的代码的人使用。
此包的 Github 项目包含 https://github.com/shadowsocks/shadowsocks-libev/tree/master/debian 中的定义-- 特别是 libshadowsocks-libev-dev.install 安装.so (可能是符号链接(symbolic link))而 libshadowsocks-libev2.install (非 -dev 包)安装 usr/lib/*/libshadowsocks-libev.so.* (即实际的二进制文件)。
The README.md包含在基于 Debian 的平台上从源代码构建的相当详细的说明。

关于ubuntu - -dev 包的实际构建命令是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64038928/

相关文章:

javascript - 防止 makefile 重新编译源文件

c++ - 函数的多重声明 make 命令 UNIX

Linux命令从一个长字符串中打印一些字符

ruby-on-rails - 开机后自动启动 Rails 服务器

node.js - 为什么nodejs命令行总是安装旧版本?

c++ - 如何构建依赖于 libcurl 的静态可执行文件?

CMAKE无法将.f90识别为源代码?

ubuntu - 无法在 ubuntu 中将 java 版本从 1.8 降级到 1.7

c - GNU makefile 中的 "premature end of file"是什么意思?

android - Android NDK 项目中的 undefined reference 错误