linux - qmake -query Linux 中的内部设置 - 它们在哪里?

标签 linux qt ubuntu-11.04

我正在使用 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/

相关文章:

linux - 调用已嗅探通信的服务器

c++ - 在 Visual Studio 2017 中构建 Qt 可执行文件

qt - QML 中有哪些对象具有 Active Focus?

c++ - Qt Android 上缺少 QSGContext

windows-7 - ubuntu CLI 的 vmware 窗口大小

c++ - C 中的 ip 地址搜索算法或库

c++ - 在 C++ 中使用 linux 系统调用和文件和文件夹管理

mysql - Monit 进程 'mysql' 未被监控

apache - 虚拟主机不能在 zend 框架中工作

c - 在我的客户端服务器代码中,我可以使用通过 ifconfig 获得的 IP 地址远程登录到服务器?