配置安装路径:prefix=[PPREFIX]未完全理解

Configuring install path: prefix=[PREFIX] not fully understood

本文关键字:PPREFIX 路径 安装 prefix 配置      更新时间:2023-10-16

我认为这只是一个通用的c++问题:

我正试图使用gnuc++编译器在Linux Fedora上编译ffmpeg的本地版本。我在下的一堆文件夹中有源代码

~/<username>/Downloads/Code/ffmpeg_sources/

这就是我试图设置配置标志以将构建安装到一个目标的地方,该目标不是在该树下,而是在具有本地共享库的根级别目录:

/usr/local/

在配置文件的开头附近有以下部分:

Standard options:
 --prefix=PREFIX          install in PREFIX []
 --bindir=DIR             install binaries in DIR [PREFIX/bin]
 --datadir=DIR            install data files in DIR [PREFIX/share/ffmpeg]
 --docdir=DIR             install documentation in DIR [PREFIX/share/doc/ffmpeg]
 --libdir=DIR             install libs in DIR [PREFIX/lib]
 --shlibdir=DIR           install shared libs in DIR [PREFIX/lib]
 --incdir=DIR             install includes in DIR [PREFIX/include]
 --mandir=DIR             install man page in DIR [PREFIX/share/man]
 --enable-rpath           use rpath to allow installing libraries in paths
                          not part of the dynamic linker search path

我可能完全误解了这一点,但我认为设置像这样的值

--prefix=/usr/local

--prefix=[/usr/local]

可能会起作用,但似乎不会,就像以前一样/config,make&amp;makeinstall已经完成,它已经完成了一堆工作,但在目标上没有安装任何东西。源目录中构建了很多新的可执行文件,所以推测构建正在运行,但我只是错误地指定了路径?同样的问题的一部分是,一旦我设置了,就不清楚是否

--prefix=[PREFIX]

正确的,我需要设置所有进一步的

--datadir, --libdir

等等。或者第一个前缀值是否足够?

上面的配置语法试图向我展示什么?

它应该是第一个--prefix=/usr/local,但要在该位置安装文件,您需要root权限。因此,如果您是sudo usersudo make install,则需要更改为帐户su或使用sudo。只在安装阶段这样做,不要那样构建。

此外,/usr/local通常是默认的安装位置,因此通常不需要指定。通常情况下,您只使用--prefix安装到不同的位置,如--prefix=/opt主页文件夹:--prefix=$HOME/3rdparty

顺便说一句,如果您安装到主页文件夹中,则不需要权限。

在我的情况下,./configure最终会出现警告/错误,因此--prefix=使用默认位置(/usr/local)。在我整理了警告/错误之后,它如预期的那样工作。