gpt4 book ai didi

c++ - 配置安装路径: prefix=[PREFIX] not fully understood

转载 作者:行者123 更新时间:2023-12-02 13:05:36 26 4
gpt4 key购买 nike

我认为这只是一个一般的 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 值是否足够?

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

最佳答案

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

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

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

关于c++ - 配置安装路径: prefix=[PREFIX] not fully understood,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36998572/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com