当我没有安装开发依赖项的 sudo 权限时如何在 Linux 系统上编译程序

use*_*686 4 linux c sudo c++

当我没有 sudo 访问权限时,我应该如何编译依赖于未在系统上预安装开发包(头文件等)的库的程序?

在这种特殊情况下,我有 Ubuntu 12.04,但我希望有一个更通用的解决方案,因为对我来说,我需要管理员权限才能安装开发包以便我可以编译,这似乎很奇怪。

Fle*_*exo 5

在 Debian 派生系统上,您可以使用apt-get source提供的 sources.list获取源代码(即使作为非 root 用户),其中包含一些 deb-src 条目。否则,它会被困在使用标准工具从项目源存储库下载。

获得该来源后:

./configure --prefix=/home/me/mysoftware
make
make install
Run Code Online (Sandbox Code Playgroud)

将适用于使用 autotools 或类似工具的大多数源代码发行版。

完成后,您需要在配置文件中设置 LD_LIBRARY_PATH 和 PATH 环境变量。

当您配置依赖于以这种方式安装的软件的其他内容时,您需要设置 PKG_CONFIG_PATH、CFLAGS、CXXFLAGS、LDFLAGS 并可能使用其他配置参数来“帮助”配置找到您的特殊安装路径。

当然,为具有 root 权限的人打开支持票可能会更容易。