我正在使用 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 构建需要几个小时。有谁知道如何做到这一点?
最佳答案
在配置时,这些路径被硬编码在“src/corelib/global/qconfig.cpp”中,并最终在构建时被硬编码到 qmake 中。它们也被硬编码到许多其他文件中,例如所有 .la 和 .pc 文件,更不用说 Makefile 安装规则了。
解决这个问题的唯一方法是找出为什么 configure 总是搞砸前缀。 configure 是一个大的 shell 脚本,所以很容易看到 $QT_INSTALL_PREFIX 是从 '-prefix' 参数分配的,然后是对其进行的不同检查(比如通过 'config.tests/unix/makeabs' 运行它) .尝试在更改 $QT_INSTALL_PREFIX 之前/之后放置打印语句,您应该能够找出路径在哪里搞砸了。
此外,您不必等待完整构建完成即可判断前缀是否已设置 正确。配置运行后,查看“src/corelib/global/qconfig.cpp”并查看“qt_configure_prefix_path_str”设置的内容。
关于linux - qmake -query Linux 中的内部设置 - 它们在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7748424/