在进行交叉编译时,我应该将哪条路径传递给–prefix选项:我应该在构建计算机上指定路径还是在目标平台上指定路径?
假设我将代码构建到/ home / me / arm / build / target_fs / usr中,之后我将文件复制到我们的目标平台,它们将位于/ usr.我应该使用–prefix = / home / me / arm / build / target_fs / usr还是只使用–prefix = / usr然后make install DESTDIR = / home / me / arm / build / target_fs?
我认为–prefix不是构建的路径,而是运行环境的路径(即目标平台上的路径).答案@L_502_0@让我觉得我是对的.但是有很多页面(例如,Cross-compiling FFmpeg for Raspbian: – prefix = / my / path / were / i / keep / built /),其中人们使用构建机器上的路径作为–prefix.所以我很困惑.
最佳答案
是的,你是对的,– prefix是工作环境的路径.只需使用–prefix = / usr.您可以通过在DESTDIR中安装来检查make install命令将在哪个文件夹路径中安装二进制文件.例如,如果您使用–prefix = / usr和make install DESTDIR = / home / me / arm / build / target_fs,那么二进制文件将安装在文件夹/ home / me / arm / build / target_fs / usr中.如果您只运行make install,那么二进制文件将安装在您的前缀中,即“/ usr”中.
原文链接:https://www.f2er.com/linux/440799.html在您进行交叉编译时,我认为您使用哪个前缀并不重要,因为无论如何您将在DESTDIR中安装,然后手动将二进制文件复制到目标.