android - cc1plus : error: -Werror=literal-suffix: no option -Wliteral-suffix

标签 android c++ qt qt5

我在尝试为 Android(在 linux x86_64 上)编译 Qt 5 时遇到此错误:

cc1plus: error: -Werror=literal-suffix: no option -Wliteral-suffix

有人见过或知道如何解决吗?

编译器版本是“arm-linux-androideabi-g++ (GCC) 4.7”

错误发生时make正在运行的整个编译命令:

/home/triumph/Documents/android-ndk-r8e/toolchains/arm-linux-androideabi-4.7/prebuilt/linux-x86_64/bin/arm-linux-androideabi-g++ -c -Wno-psabi -march=armv7-a -mfloat-abi=softfp -mfpu=vfp -ffunction-sections -funwind-tables -fstack-protector -fno-short-enums -DANDROID -Wa,--noexecstack -std=gnu++0x -Werror -Wno-error=cpp -Wno-error=deprecated-declarations -Wno-error=strict-overflow -Wno-error=literal-suffix -g -g -gdwarf-2 -marm -O0 -fno-omit-frame-pointer -fvisibility=hidden -fvisibility-inlines-hidden -Wall -Wno-psabi -W -D_REENTRANT -fPIC -DQT_NO_PRINTER -DQT_NO_PRINTDIALOG -DQT_NO_LIBUDEV -DQT_NO_XCB -DQT_NO_XKBCOMMON -DQT_NO_USING_NAMESPACE -DQT_BUILD_CORE_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DPCRE_HAVE_CONFIG_H -DQT_CORE_LIB -I../../mkspecs/android-g++ -I. -I../../include -I../../include/QtCore -I../../include/QtCore/5.2.0 -I../../include/QtCore/5.2.0/QtCore -Iglobal -I../3rdparty/pcre -I../3rdparty/harfbuzz/src -I../3rdparty/md5 -I../3rdparty/md4 -I../3rdparty/sha3 -I.moc/debug-shared -I/home/triumph/Documents/android-ndk-r8e/sources/cxx-stl/gnu-libstdc++/4.7/include -I/home/triumph/Documents/android-ndk-r8e/sources/cxx-stl/gnu-libstdc++/4.7/libs/armeabi-v7a/include -I/home/triumph/Documents/android-ndk-r8e/platforms/android-9/arch-arm/usr/include -o .obj/debug-shared/qabstractanimation.o animation/qabstractanimation.cpp

最佳答案

问题是对 qt_common.qrf 的修复。

以下行已添加到 GCC 4.6 到 4.8 的代码块中,但它引用了添加到 GCC 4.7 的编译器指令,因此在与 GCC 4.6 一起使用时会生成失败的 Makefile

            android: QMAKE_CXXFLAGS += -Wno-error=literal-suffix

解决方案是修改文件并在该行添加条件:

        contains(ver, "4\\.[78]") { // Doesn't apply to 4.6
            android: QMAKE_CXXFLAGS += -Wno-error=literal-suffix
    }

关于android - cc1plus : error: -Werror=literal-suffix: no option -Wliteral-suffix,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19152204/

相关文章:

android - 深度测试无法与模板测试一起正常工作

android - 不同设备上 Canvas 上的对象速度不一致。

c++ - Boost图转换错误

c++ - 如何让一个停靠小部件位于屏幕的左边缘,另一个位于屏幕的右边缘

linux - Qt 的 sysroot 和前缀选项的实际示例是什么

java - 调用扩展类的构造函数

Android 应用程序在 startActivityForResult 使用 MediaStore.ACTION_IMAGE_CAPTURE Intent 和外部文件时崩溃

c++ - 将两个或多个互斥量应用于一段代码

java - 指纹扫描仪

c++ - 删除 vector 中的指针时出错