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

Ubuntu 什么是-dev包的实际构建命令?,ubuntu,makefile,cmake,build,Ubuntu,Makefile,Cmake,Build,我和你一起工作 发现ubnutu下有*dev lib apt get libshadowsocks-libev-dev - lightweight and secure socks5 proxy (development files) 但是使用默认的make,它没有像我预期的那样生成二进制文件 此外,我还尝试了一些grep搜索下的源代码仍然无法找到它 那么,有人能告诉我如何构建libshadowsocks-libev-dev,更具体地说是libshadowsocks-libev.So吗 除此之

我和你一起工作

发现ubnutu下有*dev lib apt get

libshadowsocks-libev-dev - lightweight and secure socks5 proxy (development files)

但是使用默认的make,它没有像我预期的那样生成二进制文件

此外,我还尝试了一些grep搜索下的源代码仍然无法找到它

那么,有人能告诉我如何构建libshadowsocks-libev-dev,更具体地说是libshadowsocks-libev.So吗


除此之外,对于所有那些*-dev包,是否有任何正式的构建步骤?

一般来说,对于
-dev
包没有任何非常具体的指导。创建包的人创建了一个
debian/rules
及其支持基础设施,该基础设施从上游包源构建了两个或多个包,并决定将其中一些文件放入
-dev
包中,以便只需要二进制文件的人只能安装二进制文件,想要更多的人可以安装这两个软件包

通常,非
-dev
包安装库文件,
-dev
包包含C头文件和/或类似资源,供希望编译使用此库的代码的人使用

此包的Github项目包含中的定义——特别是,安装
.so
(可能是一个符号链接),而(非
-dev
包)安装
usr/lib/*/libshadowsocks libev.so.*
(即实际的二进制文件)


包含关于在基于Debian的平台上从源代码构建的相当详细的说明。

“但是使用默认make,它没有像我预期的那样生成so,只是执行了二进制文件”-该项目实际上创建了共享(
.so
)库。这是由[src/CMakeLists.txt]中的那一行执行的:
添加库(shadowsocks libev共享${LIBSHADOWSOCKS libev\u SOURCE})
@Tsyvarev Thx!我对CMake知之甚少,所以错过了它。最后,我发现它是由一面旗帜控制的。手动更改后,它将运行THX以获取详细说明。关于您列表中的Debian文件,我仍然不明白这些文件来自何处,可能像cp xx usr/include/,xx文件是否位于特定路径中?看起来像英语,但可能缺少一些单词,所以我真的不确定您想问什么。构建包时,
debian/rules
在当前目录中创建文件,因此
usr/include
实际上是指当前目录中
usr
目录中的
include
目录。但通常,当
dpkg
安装软件包时,这些文件最终会出现在
/usr/include
中。为我糟糕的英语道歉~我得到了答案,主要是因为不熟悉CMake和deb软件包的内容,顺便说一句,再次感谢:)