3

我继承了一些我计划在以 C++ 为中心的解决方案中重用的 C99 代码。不幸的是,即使是微软最新的编译器也几乎不支持重要的 C99 特性。

有问题的代码已经过死测试,我宁愿不费心用 C++ 重写它。这意味着为了让我逐字重用代码,我将不得不依赖符合标准的 3rd-party 编译器。

环顾四周后,似乎对我来说集成此代码的最佳方式是在我的解决方案中添加一个“Makefile 项目”。只有一个问题。现在似乎我有责任使“构建命令行”属性与我通过 Visual Studio 添加到项目中的文件保持同步。

乍一看,我找不到通过通常的 Visual Studio $() 样式的宏获取项目中文件列表的方法。我总是可以编写一个 shell 脚本来枚举我的源代码树中的* .c 文件并将它们的路径传递给第 3 方编译器。但是,我有点期望 Visual Studio 至少会为我完成这部分工作,因为它已经在相关的 *.vc[x]proj 文件中包含了这些信息。

我不太可能需要向这个项目添加任何新的源文件,但是,这种手动同步(即,没有脚本)对我来说似乎相当脆弱。

除了编写帮助脚本之外,我还有哪些选择?

4

1 回答 1

2

来自汉斯·帕桑特

“Makefile 项目”意味着它所说的,需要另一个负责依赖关系的“代理”。就像一个make文件。规则文件可以帮助您选择另一个构建工具,但现在在 VS2010 中这有点坏了。利用构建此 C99 代码的原始工具,从 makefile 项目运行它。

于 2010-09-28T22:54:18.693 回答