qt_version_major编译到32位时未声明
QT_VERSION_MAJOR not declared when compiling to 32 bits
我正在努力将现有代码从QT4到QT5移植,并且编译在64位(本机系统体系结构)上正常运行,但是当我尝试编译时会出现奇怪的错误。到32位:
$ QMAKESPEC=linux-g++-32 qmake-qt5
$ make
./create_version.sh
g++ -c -m32 -pipe -g -std=gnu++0x -Wall -W -D_REENTRANT -fPIC -DSLT -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I. -Iinclude -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtNetwork -isystem /usr/include/qt5/QtCore -I. -I/usr/lib64/qt5/mkspecs/linux-g++-32 -o main.o main.cpp
In file included from /usr/include/qt5/QtCore/qcoreapplication.h:37:0,
from /usr/include/qt5/QtCore/QCoreApplication:1,
from main.cpp:1:
/usr/include/qt5/QtCore/qcoreapplication.h:82:31: error: ‘QT_VERSION_MAJOR’ was not declared in this scope
enum { ApplicationFlags = QT_VERSION
...
我猜这与代码无关,因为错误发生在我的代码的第一行上,这只是指令,但不知道如何从这里进行。如果很重要,则来自Fedora 23系统。
问题是缺少的软件包:qt5-base-devel.i686使用
安装后sudo dnf install qt5-qtbase-devel.i686
问题已经消失。
相关文章:
- #ifdef和未声明的标识符
- 将应用程序从32位移植到64位时出现问题
- 正在解码MSVC 32位版本的程序集(作业).没有手术做什么
- 未声明的标识符编译暗黑破坏神 2 程序"muleview"
- 在顶点着色器中使用 OpenGl 的未声明标识符,我在顶点着色器中绘制三角形时遇到问题
- Google protobuf 时间戳未声明标识符,在 Windows 上具有C++
- qmake:检测目标位宽(32 位或 64 位)
- 如何在 64 位 vb.net Windows 应用程序中引用 32 位 dll
- 在气泡排序程序中未声明错误功能
- 我在范围内未声明的错误类有问题
- 使用未声明的标识符"sqrt"?
- 在Windows元组上构建64位Python扩展:未声明的标识符
- 如何在AVX2中从32位转换为16位未签名的整数
- qt_version_major编译到32位时未声明
- 尝试在Linux Mint 17.1 64位上"make" C++项目时从cstdlib和类似内容编译错误(未声明/不是类型)
- SFML(32位VS12)-SFML.exe中0x701ADEF8(msvcr110.dll)处未处理的异常:0xC00
- 正在 x86 计算机上移动超过 32 位的uint64_t整数未定义的行为
- 在 32 位 Linux 上编译代码时出现错误'gtk_window_set_keep_above'未声明
- 在Windows上为Qt 5.0.1 32位构建QMYSQL时,未定义引用' vtable for QMySQLDri
- 在Win7 64位上因未处理的首次机会异常而崩溃(在XP 32位、Linux 64位上没有问题)