mingw - 如何通过 MinGW make 定义预处理器宏
问题描述
我一直在尝试构建一个通过qmake生成的make 文件,并且我尝试了以下方法,但它们似乎不起作用。
mingw32-make -j8 -DDEVELOP
mingw32-make -j8 -D DEVELOP
但两者似乎都失败了,前者给了我:
mingw32-make: invalid option -- E
mingw32-make: invalid option -- V
mingw32-make: invalid option -- E
紧随其后的是-help
消息。第二个开始编译,但随后到达mingw32-make: *** DEVELOP: No such file or directory. Stop.
并停止,未能构建 exe。
我正在使用与 QT 一起安装的 GNU MAKE 4.2.1。
我不想从我的项目文件或 C++ 中定义这些,因为它们对于某些构建是唯一的。我该怎么做呢?
解决方案
GNU Make 没有-D
参数。如果你想把它传递给你的编译器,你需要检查Makefile
是否有一个变量可以添加到编译时使用的变量中。通常这将是CFLAGS
和/或CXXFLAGS
。
有时你可以做
mingw32-make -j8 CXXFLAGS="-DDEVELOP"
或者如果这不起作用,你可以尝试这样
mingw32-make -j8 CXX="g++ -DDEVELOP"
在最坏的情况下,您需要手动添加-DDEVELOP
到Makefile
编译完成的位置(查找编译标志-c
或其他标志,如-O
)。
推荐阅读
- uwp - UWP 自定义文本框样式
- python - 如何在 django rest_framework 的 1 个视图中同时创建 2 个不同的对象?DRF
- api - 在 Quarkus Microprofile 中验证 REST 参数
- css - 如果可能的话,如何使我的输入在所有浏览器和所有设备上保持一致?
- javascript - scrollTop 在 iOS 设备上没有一直滚动
- javascript - 带有distube 的discord 音乐机器人| 高分辨率照片| CLIPARTO 不和谐.js
- android - Android mkdirs() 在 Android 11 上使用 Environment.getExternalStorageDirectory() 返回 false
- rdf - 为什么在 GraphDB 中会发生这些类型推断?
- reactjs - 是否可以从打字稿中的库中覆盖类类型定义?
- java - Java 根据 REST 调用显示/隐藏对象字段