我正在使用qmake
制作一个项目,我希望许多用户都能轻松编译它。到目前为止,我只为 Linux 和 gcc 编译器开发。我希望我的项目也可以在其他平台上编译。
到目前为止,我像这样将编译器选项(我在 gcc 文档中找到的)传递给 qmake:
QMAKE_CXXFLAGS += -std=c++14 \
-ffloat-store \
-O3 \
但后来我意识到这些选项在其他编译器上可能无效,并试图为其他流行的编译器找到等效选项,例如 clang 或 Intel。令我惊讶的是,我发现:
- 优化选项
-O0、-O1、-O2、-O3
对所有三个编译器都是通用的。 -std=c++11
和-std=c++14
选项对于 gcc 和 clang 是通用的- 据我所知,
-ffloat-store
和其他一些选项只存在于 gcc 中。
我想知道,是否有一些正式或非正式标准的选项集?
最佳答案
POSIX 定义了一些关于 c99 的东西命令(但 AFAIK 与 C++ 无关)。
然而,qmake实用程序通常能够找出(或至少期望)什么是 C++ 编译器以及如何调用它。请注意,它正在生成一个 Makefile
在 Qt 之外,您可能会考虑 cmake或 autoconf .它们都生成 Makefile
-s。
另见 this answer (在 Programmers 上)。
关于c++ - 是否有一组标准的编译器选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28520122/