Как добавить '-include global.h' после '-I includeir'?

Я пытаюсь использовать опцию -include препроцессора. Опции препроцессора GCC Я не смог сделать это в моем методе настройки как обычная опция CXXFLAGS

def configure(conf):
    conf.load('compiler_cxx')
    conf.env.append_value('CXXFLAGS', ['-g', '-include global.h'])

из-за этого добавь это раньше -I опции. И gcc не смог найти мой заголовок. Как я могу добавить -include global.h в конце концов -I опции?

2 ответа

Решение

Решение:

def build(bld):
    bld.env.MYFLAGS = ['-include', 'global.h']
    from waflib import Task
    class cxx(Task.classes['cxx']):
        run_str = '${CXX} ${ARCH_ST:ARCH} ${CXXFLAGS}${FRAMEWORKPATH_ST:FRAMEWORKPATH} ${FRAMEWORK_ST:FRAMEWORK}${CPPPATH_ST:INCPATHS} ${MYFLAGS} ${DEFINES_ST:DEFINES}${CXX_SRC_F}${SRC} ${CXX_TGT_F}${TGT}' 

Ну, я думаю, что вы можете посмотреть на вафельную книгу § 10.3.2. Вы можете присоединить определенный метод к функции cxx, чтобы добавить опцию '-include' после путей включения.

Другой способ заключается в том, чтобы monkeypatch класс cxx и изменить строку run_str, которая управляет компиляцией.

Третий вариант: спросите в списке рассылки, вы обычно очень быстро получаете ответ ^^

Другие вопросы по тегам