makefile があります (nmake と VC++ 2005 を使用):
CPP_OBJS = $(CPP_SOURCE:.cpp=.obj)
$(TARGET) : $(CPP_OBJS)
$(link) $(ldebug) $(lflags) /DLL \
$(LIBPATHS) \
$out:$@ $(CPP_OBJS) $(conlibs)
問題は、 $(CPP_OBJS) がファイルのリストに展開され、各ファイル名の前にフォルダー名が追加されるため、リンクステップが失敗することです (CPP_SOURCE から生成された方法)。また、すべての .obj ファイルが現在のフォルダー (コンパイルの結果) にあるため、link.exe は .obj を見つけることができません。
次のようなものが必要です: (ここで見つけました: http://uw714doc.sco.com/cgi-bin/info2html?%28make.info%29File%2520Name%2520Functions&lang=en )
`$(notdir NAMES...)' NAMES の各ファイル名のディレクトリ部分を除くすべてを抽出します。ファイル名にスラッシュが含まれていない場合は、変更されません。それ以外の場合、最後のスラッシュまでのすべてが削除されます。
しかし、それは VC++ 2005 に付属する NMAKE では機能していないようです。
この問題を克服する方法についてのアイデアは大歓迎です。ありがとうございました。