C++ 中心のソリューションで再利用する予定の C99 コードをいくつか継承しました。残念ながら、Microsoft の最新のコンパイラでさえ、重要な C99 機能を実質的にサポートしていません。
問題のコードは徹底的にテストされており、C++ で書き直すという面倒なことはしたくありません。つまり、コードをそのまま再利用するには、適合するサードパーティ コンパイラに依存する必要があります。
周りを見回した後、このコードを統合するための最も良い方法は、ソリューションに「Makefile プロジェクト」を追加することです。1つだけ問題があります。「Build Command Line」プロパティを、Visual Studio を介してプロジェクトに追加するファイルと同期させるのは私の責任のようです。
一見すると、通常の Visual Studio の $() スタイル マクロを使用してプロジェクト内のファイルのリストを取得する方法が見つかりませんでした。ソース ツリー内の* .c ファイルを列挙し、それらのパスをサードパーティ コンパイラに渡すシェル スクリプトをいつでも作成できます。ただし、関連する *.vc[x]proj ファイルにこの情報が既に含まれているため、Visual Studio が少なくともその部分の作業を行うことを期待していました。
このプロジェクトに新しいソース ファイルを追加する必要がある可能性はほとんどありませんが、それでも、この種の手動同期 (つまり、スクリプトを使用しない) はかなり脆弱に思えます。
ヘルパー スクリプトを作成する以外に、どのようなオプションがありますか?