2016-05-09 57 views
1

我想在使用特定標誌時在自動工具的頭文件中添加#define FOO代碼。使用特定標誌時添加#define

我已經創建了一個使用頭文件來使用內聯函數的靜態庫,例如。如果我使用-D選項,它將在創建時使用,但我必須在每個使用此庫的編譯中添加它,這是我想要避免的。

我該如何執行此操作?

+0

「因爲它是一個頭,以創造一個靜態庫,我不能使用 - D選項「。這句話不解析。你能否更詳細地解釋爲什麼你不能使用-D? –

+0

@ n.m。例如,我使用頭創建了一個靜態庫來使用內聯函數。如果我使用-D選項,它將在創建時使用,但我必須在每個使用此庫的編譯中添加它,這是我想要避免的。 –

+0

這是一個更好的解釋。 –

回答

0

我認爲你最好的選擇是從預先存在的文件中生成所需的頭文件。下面的shell命令會做的伎倆:

(echo "#define FOO" ; cat myheader_pregen.hpp) > myheader.hpp 

您可以將上面的腳本放到自動工具與this

+0

不是autoconf爲你生成config.h嗎?它似乎是粘貼這樣的#defines的地方。 –