2009-12-12 157 views
7

您好,我正在为我的Windows平台上的工具链进行跨平台C++开发。我计划使用Boost.Build构建和Boost :: Test以进行单元测试。我将为我的VCS使用Mercurial,因为我可以将该回放放到我的外部HD上,然后将其放到我的Windows或Linux分区中。主要的东西是编辑器编译器/调试器。任何人有任何建议?跨平台C++工具链

随着Boost.Build我可以在技术上与它支持的任何编译器轻松构建。这意味着Windows上的MSVC和Linux上的GCC通过使用与标志相同的脚本。

+0

你实际上是要在两个平台上运行IDE吗?我想这对平台特定的调试很有用,但大多数情况下,我认为你只是在一个平台上开发(听起来像你的Windows的Windows),然后编译两者。 – 2009-12-12 18:20:11

+0

诚实地说,如果我在很多情况下使用IDE,我都会很少关心它们,尽管使用相同的编辑器会很好。 – blewisjr 2009-12-12 18:25:54

+0

什么平台?如果你只提到Linux和Windows,那么我建议你使用虚拟机而不是双引导系统。然后,您可以使用本机工具并从Windows运行本机Linux版本(或其他方式)。它使测试更快,更简单。例如,使用免费版本的VMWare Server。 – Clifford 2009-12-13 10:59:40

回答

7

我可以在Windows和Linux上建议CMake,因为您可以生成本地Visual Studio项目以及Eclipse CDT项目和普通的旧makefile。

如果你是针对多个平台,但发现自己在一个单一的平台,主要开发,我强烈建议持续构建/集成系统,以确保检查在一个平台上的其他人不打破建设。

+0

是的CMake在这里是一个确定的选项。其实我只是看着它。这个连续的构建系统正是我希望能够或多或少手动完成的。我希望能够从回购协议中获得回报,并在其他服务器上进行构建,以确保它不会中断。我的主要问题是我是否想要开发使用IDE中的项目文件或不开始。如果我使用类似vim的开发并通过命令行使用make文件进行开发并以相同的方式进行调试,那么看起来更容易。 – blewisjr 2009-12-12 19:41:45

+0

这里唯一真正的问题是你如何启动该项目,并将其放置在vcs等... – blewisjr 2009-12-12 21:09:04

+0

+1我建议CruiseControl(http://cruisecontrol.sourceforge.net/)持续集成。我个人建议使用虚拟机或单独的盒子,而不是交叉开发。持续集成将使平台构建自动化,甚至可以运行测试并报告结果(通过电子邮件)。具有本地工具的虚拟机与跨开发相比便宜得多。 – Clifford 2009-12-13 11:24:57

6

Code::Blocks是一款免费的开源跨平台C++ IDE。它支持MS和GCC编译器等等。

3

你也可以在windows上使用gcc/g ++。至于调试器:gdb和ddd可能在cygwin中。编辑:vim(注意:它确实是一个可编程的编辑器,而不是IDE)。

+0

难以了解更多高级功能,我通常只使用它来快速编辑配置文件。 – blewisjr 2009-12-12 18:30:18

+0

答案取决于什么是“更高级的功能”。但是不,对vim的任何部分都没有什么困难,但是当然,你会一直忘记你很少使用的东西。 – 2009-12-12 18:45:56

8

Qt Creator在Windows上使用MinGW,在Linux上使用GNU编译器。这就是我所使用的,它工作得很好。请注意,您在使用Qt Creator进行开发时不必使用Qt。

4

主要的东西在我的方式是 编辑器编译器/调试器。任何人都有 有什么建议吗?

是:Qt Creator一个下载并安装将满足您请求 - 挑“LGPL”许可证路线和download and install the SDK甚至安装GCC,G ++,......你。集成调试器非常好,您可以从代码中获得跨平台的行为,您的工具

+0

QT Creator是否也在Windows上安装GCC工具集? – blewisjr 2009-12-12 18:31:30

+1

是的,如果你选择了SDK - 那就是为什么它是280mb。但作为一个单独的下载程序很容易,而且一切正常。当然,你也可以在组件中做所有事情,但是在Windows上设置和繁琐的工作更多,因为在那里没有apt-get :) – 2009-12-12 20:30:01

+0

是的,这是惊人的:P – blewisjr 2009-12-12 20:52:30

1

Vim的,GDB,GCC/G ++,生成文件 - Windows和Unix :)

另一个投票Code BlocksQt Creator - 你可以同时使用它们。

有商业工具太:Visual Studio的旁边有MagicC++(IDE),调试器就像TotalViewAllineaZero-bugsUndoDB ...如果你想留在VStudio检查这些VSBridgeWinGDB

无论如何,您总是可以在Windows上使用MSVC和Unix上的其他工具(gdb/DDD用于调试,vim/emacs用于版本) - 我已经以这种方式工作了很多年。所有平台的公共环境很好,但有时很难(几乎不可能)在公司(尤其是大公司)“强制”它;-)