我正在使用ptxdist构建一个带有交叉编译器的Linux系统。它允许我配置Qt4进行安装,并构建和安装qt-everywhere-opensource-src-4.6.3好的。但是,qmake内部设置搞砸了,我不知道如何修复它们。
当我运行qmake -query时,我得到:
me@ubuntu:~$ qmake -query
QT_INSTALL_PREFIX:/
QT_INSTALL_DATA:/
QT_INSTALL_DOCS://doc
QT_INSTALL_HEADERS://include
QT_INSTALL_LIBS://lib
QT_INSTALL_BINS://bin
QT_INSTALL_PLUGINS://plugins
QT_INSTALL_TRANSLATIONS://translations
QT_INSTALL_CONFIGURATION:/etc/xdg
QT_INSTALL_EXAMPLES://examples
QT_INSTALL_DEMOS://demos
QMAKE_MKSPECS://mkspecs
QMAKE_VERSION:2.01a
QT_VERSION:4.6.3
通过一些研究,看起来这可以通过简单地重建Qt来解决,但它并没有解决这个问题。我挖了一下构建输出,看起来Qt构建的./configure命令有“-prefix / usr”,所以我不知道为什么没有修复它。
如果可能,我想手动修复这些内部值,因为Qt构建需要数小时。有谁知道怎么做?
答案 0 :(得分:3)
在配置时,这些路径在'src / corelib / global / qconfig.cpp'中硬编码,并在构建时最终硬编码到qmake中。它们也被硬编码到许多其他文件中,例如所有.la和.pc文件,更不用说Makefile安装规则了。
解决这个问题的唯一方法是弄清楚为什么configure会一直搞砸前缀。 configure是一个很大的shell脚本,所以很容易看到'-prefix'参数分配$ QT_INSTALL_PREFIX的位置,然后是对它进行的不同检查(比如通过'config.tests / unix / makeabs'运行它) 。尝试在$ QT_INSTALL_PREFIX更改之前/之后放置打印语句,您应该能够找到路径被搞砸的位置。
此外,您不必等待完整版本完成以判断是否设置了前缀 正确。在配置运行之后,看一下'src / corelib / global / qconfig.cpp',看看'qt_configure_prefix_path_str'被设置为什么。
答案 1 :(得分:0)
配置脚本可以模糊有关斜杠。您确定构建前缀是/ usr而不是/ usr /。
答案 2 :(得分:0)