在 MacOS 上使用 gcc-8 而不是 clang 编译 Qt5

Posted

技术标签:

【中文标题】在 MacOS 上使用 gcc-8 而不是 clang 编译 Qt5【英文标题】:Compiling Qt5 on MacOS with gcc-8 instead of clang 【发布时间】:2019-04-23 22:47:13 【问题描述】:

我正在尝试在 MacOS 上编译 Qt5,使用 gcc-8 而不是默认的 clang。从本指南here 我已经能够使用以下方法进行配置:

CC=gcc-8 CXX=g++-8 CFORT=gfortran-8 ../configure --prefix=/Users/qth20/Utilities/qt-5.12 -opensource -nomake examples -nomake tests -platform g++-8

但是当我检查详细输出时:

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -c -pipe -g -fPIC -std=gnu11  -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk -mmacosx-version-min=10.12 -fvisibility=hidden -w -fno-exceptions -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DPNG_ARM_NEON_OPT=0 -DPNG_POWERPC_VSX_OPT=0 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -isystem /Users/qth20/qt5/qtbase/src/3rdparty/libpng -I. -isystem /Users/qth20/qt5/qtbase/src/3rdparty/libpng -I/Users/qth20/qt5/qtbase/mkspecs/macx-clang -o .obj/debug/pngmem.o /Users/qth20/qt5/qtbase/src/3rdparty/libpng/pngmem.c

它似乎仍在使用clang 而不是gcc-8。有什么建议可以解决这个问题?

【问题讨论】:

【参考方案1】:

只需使用 macos-g++ 平台: ../configure -platform macos-g++

但不能保证一切都是开箱即用的。

【讨论】:

请注意,要设置编译器,您需要设置QMAKE_CC和QMAKE_CXX,并将它们的设置作为参数进行配置,而不是通过设置环境变量。

以上是关于在 MacOS 上使用 gcc-8 而不是 clang 编译 Qt5的主要内容,如果未能解决你的问题,请参考以下文章

在 MacOS X 上使用 FileDialog 而不是 JFileChooser 用于文件和目录

何时在 Apple macOS 上使用 Metal 而不是 Accelerate API

如何让 SwiftUI SidebarMenu 每次都显示相同的 DetailView 而不是创建一个新的(在 macOS 上)

MacOS 上的 XAMPP - 使用 localhost 而不是 IP 地址

如何在 MacOS 上安装 MySQLi

如何在macOS上输入度数符号