【发布时间】:2010-09-28 21:40:39
【问题描述】:
我继承了一些 C99 代码,我计划在以 C++ 为中心的解决方案中重用这些代码。不幸的是,即使是 Microsoft 最新的编译器也几乎不支持重要的 C99 功能。
有问题的代码已经过测试,我宁愿不费心用 C++ 重写它。这意味着为了让我逐字重用代码,我必须依赖符合标准的 3rd-party 编译器。
环顾四周后,似乎对我来说集成此代码的最佳方式是在我的解决方案中添加一个“Makefile 项目”。只有一个问题。看来我现在有责任使“构建命令行”属性与我通过 Visual Studio 添加到项目中的文件保持同步。
乍一看,我找不到通过通常的 Visual Studio $() 样式的宏获取项目中文件列表的方法。我总是可以编写一个 shell 脚本来枚举我的源代码树中的 *.c 文件并将它们的路径传递给第 3 方编译器。但是,我有点期望 Visual Studio 至少会为我完成这部分工作,因为它已经在相关的 *.vc[x]proj 文件中包含了这些信息。
我不太可能需要向这个项目添加任何新的源文件,但是,这种手动同步(即,没有脚本)对我来说似乎相当脆弱。
除了编写帮助脚本之外,我还有哪些选择?
【问题讨论】:
-
“Makefile 项目”的意思是它所说的,需要另一个负责依赖关系的“代理”。就像一个make文件。规则文件可以帮助您选择另一个构建工具,但现在在 VS2010 中这有点坏了。利用构建此 C99 代码的原始工具,从 makefile 项目运行它。
-
@Hans:请把它放在答案中。 :)
-
不,我已经厌倦了没有有用投票的答案标记。您可以自己复制粘贴并关闭线程。
标签: visual-studio visual-studio-2010 makefile nmake