在 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 上)