Как добавить #define в Makefile? - PullRequest
0 голосов
/ 13 ноября 2018

Как добавить #define в мой Makefile, чтобы он был определен во всех файлах C ++ в папке?

Ответы [ 3 ]

0 голосов
/ 13 ноября 2018

Допустим, вы хотите заменить #define MYDEF

В вашем make-файле у вас есть командная строка компилятора, что-то вроде (самый простой пример):

g++ -o myfile.cpp

Чтобы получить #define для каждого myfile.cpp, просто используйте -D примерно так:

g++ -DMYDEF -o myfile.cpp
0 голосов
/ 13 ноября 2018

Я бы добавил флаг компилятора для установки макроса (-D для GCC) к стандартной переменной CXXFLAGS, чтобы он применялся к любому неявному правилу вызовам компилятора:

CXXFLAGS += -DMY_DEFINE

Затем добавьте эту переменную к любым явным правилам , которые могут иметь:

target: source.cpp
    $(CXX) -std=c++14 $(CXXFLAGS) ...

Поскольку стандартные переменные добавляются только с неявными правилами .

0 голосов
/ 13 ноября 2018

Просто добавьте -Dxxx=yy в командной строке (xxx имя макроса и yy замена, или просто -Dxxx, если значение отсутствует).

Это не команда Makefile, это часть параметров командной строки компилятора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...