如何使用 qmake 为单个源文件指定编译器标志
How to specify compiler flag to a single source file with qmake?
而其他源文件使用默认标志?我的一些源文件需要一些预处理器定义的额外C++。我使用 Qt 5。我只发现QMAKE_CXXFLAGS是供全球在 qmake 项目中使用的。
这是过去在Qt源代码本身中进行GUI绘制的理论:
SOURCES_NOOPTIMIZE = somefile.cpp
nooptimize.name = nooptimize
nooptimize.input = SOURCES_NOOPTIMIZE
nooptimize.dependency_type = TYPE_C
nooptimize.variable_out = OBJECTS
nooptimize.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_IN_BASE}$${first(QMAKE_EXT_OBJ)}
nooptimize.commands = $${QMAKE_CXX} $(CXXFLAGS) -O0 $(INCPATH) -c ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT} # Note the -O0
QMAKE_EXTRA_COMPILERS += nooptimize
另请参阅文档中的高级用法 如何添加编译器:
自定义编译器规范支持以下成员:
会员描述
命令用于从输入生成输出的命令。
配置自定义编译器的特定配置选项。有关详细信息,请参阅配置表。
depend_command 指定用于生成输出依赖项列表的命令。
dependency_type 指定输出的文件类型。如果它是已知类型(如 TYPE_C、TYPE_UI、TYPE_QRC),则将其作为这些类型的文件之一进行处理。
depends 指定输出文件的依赖项。
input 指定应使用自定义编译器处理的文件的变量。
name 自定义编译器正在执行的操作的说明。这仅在某些后端使用。
输出 从自定义编译器创建的文件名。
output_function 指定用于指定要创建的文件名的自定义 qmake 函数。
变量指示此处指定的变量在 pro 文件中称为 $(VARNAME) 时替换为 $(QMAKE_COMP_VARNAME)。
variable_out 应将从输出创建的文件添加到的变量。
相关文章:
- Visual Studio 中是否有来自代码块的编译器标志的类似物?
- 如何将编译器标志限制为仅(我的)本地库?
- 为什么 gcc 编译器标志未知?
- 如何将编译器标志从 clang 传递给 nvcc
- 设置用于调试的 g++ 编译器标志
- 是否有任何编译器标志可以在下面的代码中用于报告有关 UB 的警告?
- std::function, Clang 6.0 & MSVC (10.0017134.12) - 可能的 ABI 错误或必需的编译器标志
- 是否可以使用 GCC 编译具有特定编译器标志的代码文件的一部分?
- CMAKE 如何在 C++ 中将编译器标志附加到末尾
- 如何在 Visual Studio Code 中包含编译器标志
- 是否有编译器标志可以使较新的 gcc 版本像旧版本一样构建
- 使用 noexcept 和编译器标志来关闭异常
- 运行时附加编译器标志
- 在每个平台上使用相同的模拟,具有正确的编译器标志
- 如何在 CMake 中添加"-l" (ell) 编译器标志
- CMake ADD_LIBRARY函数的编译器标志的哪个变量?
- Python 扩展:对 C 部分和 C++ 部分使用不同的编译器标志
- Visual Studio中的C 编译器标志
- EIGEN3 JACOBISVD根据编译器标志的不同奇异值
- 为什么缓冲区超支警告(C4789)仅在编译器标志 /o2中发生