将 Windows 编译的 QT 应用程序移植到 Linux?
Posted
技术标签:
【中文标题】将 Windows 编译的 QT 应用程序移植到 Linux?【英文标题】:Porting a Windows compiled QT application to Linux? 【发布时间】:2015-12-22 22:46:47 【问题描述】:我在 Qt4 中创建了这个简单的应用程序,并希望在 RH Linux 发行版上对其进行测试。该发行版同时安装了 QtCore "Qt4" 和 Qt3。我无法添加或删除这些 Qt 版本中的任何一个,但希望使用可用的版本。
我在 Linux 中编译基于 Windows 的 Qt 程序“Qt4”时出错。 第一个问题: - 如何在没有安装 QT 创建者“仅 Qt 库”的情况下在 Linux 中编译我的编译,我所做的是从 Windows 获取 .pro 文件并输入 qmake 。 ,错误是:
WARNING : Found potential symbol conflict of mainwindow.cpp (mainwwindow.cpp) in SOURCES
WARNING : Found potential symbol conflict of mainwindow.h (mainwwindow.cpp) in HEADERS
WARNING : Found potential symbol conflict of dialog.cpp (dialog.cpp) in SOURCES
WARNING : Found potential symbol conflict of dialog.h (dialog.h) in HEADERS
如何修改 qmake 以指定 Qt 的版本 谢谢。
下面是我的 .pro 文件
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = TestTool
TEMPLATE = app
SOURCES += main.cpp\
mainwindow.cpp \
dialog.cpp
HEADERS += mainwindow.h \
dialog.h
FORMS += mainwindow.ui \
dialog.ui
编译错误是:
【问题讨论】:
一个不在.pro文件中指定Qt版本,直接调用正确的qmake即可。警告很奇怪,但它们是警告,而不是错误,所以请检查是否编译。 @FrankOsterfeld 我在上面编译时添加了错误。它只是不喜欢 QApplication,这意味着它使用的是 qt3 而不是 qt4 【参考方案1】:尝试显式使用 Qt4 版本的 qmake:
/usr/lib64/qt4/bin/qmake -o Makefile TestTool.pro
【讨论】:
现在错误是主窗口,它说它没有在这个范围内声明......一切都包括在内,不知道为什么抱怨主窗口 @SamGomari 可能值得发布关于下一个问题的第二个问题。以上是关于将 Windows 编译的 QT 应用程序移植到 Linux?的主要内容,如果未能解决你的问题,请参考以下文章