Visual studio 2008 使用VisualStudio进行跨平台开发的最佳方法是什么?

Visual studio 2008 使用VisualStudio进行跨平台开发的最佳方法是什么?,visual-studio-2008,visual-studio-2005,msbuild,build-process,Visual Studio 2008,Visual Studio 2005,Msbuild,Build Process,我们正在多个平台上开发一些游戏DS/Wii/Xbox360/PS3/PC/PSP。每个都有自己的编译器/链接器和调试器。我们希望使用VisualStudio作为IDE并管理构建过程,但使用特定于平台的编译器和设置来生成适当的输出。我们可以在VS之外使用jam或ant来管理构建过程,但这不是首选的解决方案 拖网,这似乎是一个常见的问题,但没有人有一个好的解决方案。有人解决了这个问题吗?最好的处理方法是什么 许多解决方案浮现在脑海中-在预构建步骤中从solition自动生成nant脚本可能是最简单的

我们正在多个平台上开发一些游戏DS/Wii/Xbox360/PS3/PC/PSP。每个都有自己的编译器/链接器和调试器。我们希望使用VisualStudio作为IDE并管理构建过程,但使用特定于平台的编译器和设置来生成适当的输出。我们可以在VS之外使用jam或ant来管理构建过程,但这不是首选的解决方案

拖网,这似乎是一个常见的问题,但没有人有一个好的解决方案。有人解决了这个问题吗?最好的处理方法是什么

许多解决方案浮现在脑海中-在预构建步骤中从solition自动生成nant脚本可能是最简单的工作,但仍然不理想,用存根应用程序替换cl.exe和link.exe,使用msbuild,但这是面向.net开发的,而不是本机代码,编写一个定制VS插件需要大量的工作——任何指向现有插件的指针,无论是商业的还是开放的,都会很好。有人试过这些吗?这对你有好处吗


干杯你看了吗?它可以从文本描述生成Visual Studio项目文件。

支持CMake的建议,但需要注意的是,您将无法在VS中为其他平台管理项目。它不是为了管理除当前项目/目标/平台之外的任何项目的库路径、定义等而编写的。你几乎可以肯定地说,PlatformX的库就在这里,我只是看不到通过VS实现这一点的方法。

CMake没有实现我想要的。明确地说,当我说管理构建过程时,我的意思是,任何人都可以从存储库中获取项目,然后从内部选择平台、编译/运行、添加文件、更改设置等,所有这些都是神奇的;所以,为了回答我自己的问题,经过一点挖掘,我得出了这个结论

“正确”的方法是为VS编写一个插件,添加一个新的平台,该平台将出现在configuration manager中,就像他们为Xbox、Pocket PC等所做的那样。不幸的是,微软似乎以其无穷的智慧决定不向广大用户公开此特定功能的API

但是,您可以编写一个外接程序,并用存根程序并行替换cl.exe和link.exe,这些存根程序将实际的遵从性分派给相应的编译器。不过,似乎只有2003年才有一个开源项目,而且必须针对自定义编译器进行修改。SNS系统也可以通过PSP软件包实现这一点

编写一个插件需要一些时间,因此在此期间,一个快速的权宜之计是编写一个脚本,解析解决方案和项目文件,提取重要的部分,并生成文件,供nant、make、jam或任何从每个构建步骤中调用的内容包含。要么这样,要么沿着整个makefile解决方案路线:/


MSBuild确实应该是前进的方向。我玩得很快,你几乎可以做我想做的任何事情,但不知怎么的,它并没有完全凝固。一直认为这是一个C项目-可能需要花费更多的时间,除非任何MSBuild专家想给我指出正确的方向。

在自制PSP SDK上使用的另一个选项是使用Makefile项目。您使用VS中的代码编辑器,但最终在调用编译器时,它将根据您的makefile使用正确的编译器。VS将捕捉到大多数输出错误,并在来源上突出显示。

AFAICS CMake的工作方式是“错误的”。我们希望通过VS管理项目,而不是在一些任意构建系统中管理项目,然后生成VS项目。现在,如果CMake能够采用VS解决方案并构建设置,那将是另一回事;哼我总是尽量避免在VisualStudio中管理项目,因为对它的支持非常糟糕。我也希望这样。编辑文本文件似乎是一个巨大的倒退。我们的promary开发工具是win32上的MS IDE,但我们正在为linux进行移植/构建。我想从VS自动生成构建文件,而不是从某个文本文件生成另外两个。我想这里有一个产品创意。