每当微软发布新版本的visual studio时,他们总是要求我将我的解决方案和项目文件转换为"最新版本".即使使用像"Hello World"解决方案这样简单的东西,我也需要完成他们的转换向导!
而且,更糟糕的是,新的visual studio解决方案文件与旧版本的visual studio不兼容.
对于那些与一群人合作的人来说,或者任何希望为他们的项目分发源代码的人,这真是一场噩梦.
是否有任何好方法来分发视觉工作室项目,并允许使用旧版Visual Studio的人仍然使用它?这是一个简单的C程序,不使用任何漂亮的选项.我只能访问Visual Studio 2008,并且Visual Studio不提供向后"转换"向导.使用nmake + makefile发布源代码来构建程序是否有意义?似乎nmake文件格式在一段时间内没有显着改变,并且可以提供适用于更广泛版本的visual studio的makefile.
执行此操作的常规方法是将vs项目文件放在解决方案的子目录中.例如
solution - build -- vc6 -- vc7 -- vc8 -project1 -- src -- build --- vc6 --- vc7 --- vc8 -project2 -- src -- build --- vc6 --- vc7 --- vc8
然后,当您获得新版本的vs - 将最后一个项目目录(例如vc7)复制到vc8时 - 对解决方案执行相同操作 - 在文本编辑器中打开解决方案和项目文件以修复任何路径 - 最后在新版本中打开解决方案vs并让它转换你的项目 - (使用源代码控制就像一个或你的路径错误它更新旧目录中的项目)
这很烦人,但你每隔几年就要做一次.
这就是我们以前的做法,但是有一种更好的方法,那就是使用CMake来生成你的项目.我们现在在工作中使用它,它允许使用单个项目定义在Windows和unix上本地工作.在Windows上,我们在unix上使用vs项目,我们使用eclipse和makefile.此外,CMake允许您抽象编译器和链接器标志等常见项目设置,因此只需在一个位置进行修改.
我现在将CMake用于所有c ++项目,无论我是否需要其多平台功能.
您可以使用CMake作为项目的构建工具.它将为您生成VS项目文件,您只需打开该文件并使用它来构建项目.转换问题无关紧要,因为您可以使用CMake再次构建它.
在这种情况下,CMake的优势是可移植性和版本独立性(也是跨平台构建功能,但这可能不相关).然而,CMake确实有一点学习曲线,并不像使用项目文件那么简单,但它确实解决了您遇到的问题.由于您的项目相对简单,它可能是您的解决方案.