我继承了一些我计划在以 C++ 为中心的解决方案中重用的 C99 代码。不幸的是,即使是微软最新的编译器也几乎不支持重要的 C99 特性。
有问题的代码已经过死测试,我宁愿不费心用 C++ 重写它。这意味着为了让我逐字重用代码,我将不得不依赖符合标准的 3rd-party 编译器。
环顾四周后,似乎对我来说集成此代码的最佳方式是在我的解决方案中添加一个“Makefile 项目”。只有一个问题。现在似乎我有责任使“构建命令行”属性与我通过 Visual Studio 添加到项目中的文件保持同步。
乍一看,我找不到通过通常的 Visual Studio $() 样式的宏获取项目中文件列表的方法。我总是可以编写一个 shell 脚本来枚举我的源代码树中的* .c 文件并将它们的路径传递给第 3 方编译器。但是,我有点期望 Visual Studio 至少会为我完成这部分工作,因为它已经在相关的 *.vc[x]proj 文件中包含了这些信息。
我不太可能需要向这个项目添加任何新的源文件,但是,这种手动同步(即,没有脚本)对我来说似乎相当脆弱。
除了编写帮助脚本之外,我还有哪些选择?