【问题标题】:Configuring install path: prefix=[PREFIX] not fully understood配置安装路径:prefix=[PREFIX] 不完全理解
【发布时间】:2016-08-28 04:05:25
【问题描述】:

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

我正在尝试使用 gnu c++ 编译器在 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&&make 安装完成,它已经做了很多事情,但目标上没有安装任何东西。源目录中构建了很多新的可执行文件,所以大概构建正在工作,但我只是错误地指定了路径?同一问题的一部分是不清楚是否,一旦我设置了

--prefix=[PREFIX]

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

--datadir, --libdir

等等。或者第一个 --prefix 值是否足够?

上面试图告诉我的配置语法是什么?

【问题讨论】:

标签: c++ path ffmpeg set prefix


【解决方案1】:

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

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

顺便说一句,如果您安装到您的 home 文件夹中,您将不需要 root 权限。

【讨论】:

  • 哦!谢谢你:0)我并不特别介意本地构建的去向。我这样做是为了针对那些特定的 ffmep 库编译 Audacity。我读过/被告知 Audacity 会在 /usr/local 上查找它...大概那么这是大多数事情的默认设置?将再试一次。再次感谢:0)
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-29
    • 2021-08-13
    • 1970-01-01
    相关资源
    最近更新 更多