Windows で GCC を使用して、コンパイル中のファイルに含める特定のインクルード ファイルの名前を gcc コマンド ライン (または手動で管理された makefile から) で指定できるようにしたいと考えています。私が見たところ、ソース コード ファイルには次のような行が含まれているのが理想的です…</p>
#include INCLUDEFILENAME
…その後、gcc コマンド ラインで指定されたファイル名がINCLUDEFILENAME
テキストに置き換えられます。
オプションを使用してgccコマンドラインでINCLUDEFILENAMEというマクロを定義することでこれを達成することに近づくことができるようです-D
(例:含めるファイルとして認識されません。もちろん…</p>
-D INCLUDEFILENAME="C:\TestLib\Test1.h"
#include
#include "INCLUDEFILENAME"
…INCLUDEFILENAMEが文字列リテラルになり、マクロ値に置き換えられないため、機能しません。\x22
二重引用符 ( 、\"
、など)を指定する他の方法を試しまし"\""
たが、これらは行で機能しないようです#include
。
ソースファイルに何らかの方法で言及されていなくてもファイルを強制的に含めることができるように見えるgcc-include
オプションを認識していますが、ソースファイルがインクルードファイルをここに含めることを示していることを望んでいますが、 name は、ソース ファイルに対して「外部的に」指定されます (最終的には、makefile から)。
これを達成する方法についての提案をいただければ幸いです。