我正在查看Qt随附的configure
脚本可以运行的所有选项。 (特别是qt-everywhere-opensource-src-5.2.0)。
经过大量搜索后,我确定这些资料充其量也未得到很好的记录,因此我希望可以得到一些帮助。当我查看prefix
和sysroot
配置选项的描述时:
因此,我以前使用过-prefix
,它的功能完全如上所述。它将所有内容放置在提供的<dir>
上,然后当我使用<prefix_dir>/bin/qmake
构建应用程序并将其安装在目标平台上时,它想在<prefix_dir>/lib
上找到所有共享的对象库。
我的印象是,如果我使用-sysroot
,它将在<sysroot_dir>
上安装所有内容,然后在目标平台上安装我的应用程序时,它将在/lib
中搜索。至少我希望那是真的。
现在,如果我的假设是正确的...那么-extprefix
的意义是什么?他们是说如果我同时使用-sysroot
和-extprefix
可以将事情重定向到有利的地方吗?
那我为什么要使用-no-gcc-sysroot
的原因是什么?如果我希望将Qt库安装在“sysroot”上,为什么不希望gcc
使用/知道相同的sysroot?
如果可以得到一些有关如何正确使用这些选项的实际示例,对其中一些的解释将是非常棒的,甚至更好。
最佳答案
这些是构建嵌入式平台时使用的选项。
是的,他们是皇家一团糟。所以这只是部分答案:
-字首
-sysroot/路径
/lib/bin等...
-extprefix/b
使用-sysroot/a时,
-no-gcc-sysroot
-hostprefix/路径
编译与我们目前在上运行的目标不同的目标时的
要增加困惑,请执行以下操作:
-R/路径
在为目标而不是主机进行编译时要使用哪些标志,取决于configure中大量的硬编码假设。
通常,-sysroot plus -prefix应该适用于大多数使用情况。
即,当您有:
$ ls ~/mytarget
lib bin share dev
您可以只使用-sysroot〜/mytarget -prefix/