2010-03-31 61 views
0

我试图移植一些旧的Linux代码在Windows上运行,并且正在运行到一大堆编译器错误,这些错误似乎是源自大量使用模板类。 Linux和MSVC之间的模板必须实现吗?如果是这样,有人可以概述实际上有什么不同吗?我发现了很多文档,但没有任何文字能够真正地说明差异。在Linux和MSVC上的C++中的模板类实现之间的区别Win32

+2

你可以发布代码和错误的样本? – UncleBens 2010-03-31 19:12:02

+2

这听起来像是GCC vs MSVC问题,而不是Linux vs Windows问题。顺便说一下,有一个叫做MinGW的Windows GCC端口:http://www.mingw.org/ – Will 2010-03-31 19:14:44

+1

如果你对MinGW感兴趣,可以使用http://tdragon.net/recentgcc/ – 2010-03-31 19:23:39

回答

3

C++语言由C++标准定义 - 它不是特定于操作系统的东西。标准的实施程度因编译器而异,而不是从操作系统到操作系统。话虽如此,如果它是非常古老的代码,您可能会发现Windows和Linux上的现代编译器不会编译它。这是因为这些现代编译器在遵守C++标准方面更加严格,并且挑出了代码,认为较早和较不兼容的编译器会让它们滑动。

底线 - 您需要根据自己的条件解决每个错误。或者可能垃圾代码,如果它真的很老。

1

这将取决于很多在Windows和Linux上使用的编译器版本。所以我认为唯一的办法就是逐个修改错误。

相关问题