我有一个 C++ 项目,我需要在其中定义一些 CXX 文件中的变量。我有将近 800 个文件,其中我需要为 200 个文件定义一个变量。所以我想在makefile中定义它。那么我们怎么能做到这一点。
假设您想要替换#define MYDEF
在您的 makefile 中,您有编译器命令行,类似于(最简单的示例):
g++ -o myfile.cpp
Run Code Online (Sandbox Code Playgroud)
要让每个#define都像这样myfile.cpp使用:-D
g++ -DMYDEF -o myfile.cpp
Run Code Online (Sandbox Code Playgroud)
我将添加编译器标志以将宏 ( -Dfor GCC) 设置为标准变量CXXFLAGS,以便它将应用于任何隐式规则编译器调用:
CXXFLAGS += -DMY_DEFINE
Run Code Online (Sandbox Code Playgroud)
然后将该变量添加到您可能拥有的任何显式规则中:
target: source.cpp
$(CXX) -std=c++14 $(CXXFLAGS) ...
Run Code Online (Sandbox Code Playgroud)
因为标准变量只是添加了隐含的规则。
小智 1
使用可以使用头文件
定义.h:
#define deff 10
Run Code Online (Sandbox Code Playgroud)
main.cxx 或您要使用的任何文件
#include "definitions.h"
Run Code Online (Sandbox Code Playgroud)
另一种方法是在编译时给出以下 arg g++ -DMYDEF file1.cpp file2.cpp ------ file200.cpp -o abc.exe
| 归档时间: |
|
| 查看次数: |
18200 次 |
| 最近记录: |