7 c c++ compiler-construction visual-studio visual-c++
每当微软发布新版本的visual studio时,他们总是要求我将我的解决方案和项目文件转换为"最新版本".即使使用像"Hello World"解决方案这样简单的东西,我也需要完成他们的转换向导!
而且,更糟糕的是,新的visual studio解决方案文件与旧版本的visual studio不兼容.
对于那些与一群人合作的人来说,或者任何希望为他们的项目分发源代码的人,这真是一场噩梦.
是否有任何好方法来分发视觉工作室项目,并允许使用旧版Visual Studio的人仍然使用它?这是一个简单的C程序,不使用任何漂亮的选项.我只能访问Visual Studio 2008,并且Visual Studio不提供向后"转换"向导.使用nmake + makefile发布源代码来构建程序是否有意义?似乎nmake文件格式在一段时间内没有显着改变,并且可以提供适用于更广泛版本的visual studio的makefile.
iai*_*ain 10
执行此操作的常规方法是将vs项目文件放在解决方案的子目录中.例如
solution
- build
-- vc6
-- vc7
-- vc8
-project1
-- src
-- build
--- vc6
--- vc7
--- vc8
-project2
-- src
-- build
--- vc6
--- vc7
--- vc8
Run Code Online (Sandbox Code Playgroud)
然后,当您获得新版本的vs - 将最后一个项目目录(例如vc7)复制到vc8时 - 对解决方案执行相同操作 - 在文本编辑器中打开解决方案和项目文件以修复任何路径 - 最后在新版本中打开解决方案vs并让它转换你的项目 - (使用源代码控制就像一个或你的路径错误它更新旧目录中的项目)
这很烦人,但你每隔几年就要做一次.
这就是我们以前的做法,但是有一种更好的方法,那就是使用CMake来生成你的项目.我们现在在工作中使用它,它允许使用单个项目定义在Windows和unix上本地工作.在Windows上,我们在unix上使用vs项目,我们使用eclipse和makefile.此外,CMake允许您抽象编译器和链接器标志等常见项目设置,因此只需在一个位置进行修改.
我现在将CMake用于所有c ++项目,无论我是否需要其多平台功能.
没有简单的答案。但我希望我们能这么做。情况只会变得更糟,因为从 2005 年开始,您还需要打包到 redist 包中或与运行时进行静态链接。我不知道如果你有一个 2008 年的静态链接二进制文件与上一代(2005 年之前)的应用程序通信,它会做什么。根据 MS 的说法,这应该有效。
您可以放心地假设所有用户都拥有 Visual Studio 的副本吗?它们都运行相同的版本吗?(我知道,现在 Express 版本是免费的...)如果您继续走这条路,您将需要根据困难来教育您的用户,并让他们都使用相同版本的 VS2008,以使周围每个人的生活更轻松。
不过,我宁愿使用 make/gcc,也不愿绕公园转一圈。
| 归档时间: |
|
| 查看次数: |
1540 次 |
| 最近记录: |