我试图将我的C ++应用程序从Linux移植到Windows(Visual C ++)。 我只是好奇你是否知道任何脚本/工具,将扫描源代码,并检查可能的问题(如dirent.h等)。
谢谢。
第一个工具叫做你的编译器。 它会告诉你,如果你的程序编译。
第二个工具被称为运行你可能有的任何测试。 他们会告诉你,如果产生的二元作品。
你在寻找什么,一个水晶球,以免你的工作? 不管你采取什么方法或者你可以读什么来帮助你开始,你在某些时候必须(1)编译这个东西,(2)检查它是否有效。
微软在MSDN上有一个关于从* nix到Win32管理端口的“最佳”方法。
http://www.mingw.org/wiki/msys或http://www.cygwin.com/
编辑:
Cygwin本质上是一个在Unix / Posix和Windows之间的兼容层(实现为dll) – 代码应该保持不变,但是不同版本的cygwin dll之间可能会有问题。
Msys + Mingw是在win32中重新实现的Unix / Posix库的一个子集,也是gcc编译器的一个端口以及必要的构建工具。 由此产生的exe完全本地运行,但一些复杂的生成过程需要更多的工作。
无论哪种方式,如果应用程序使用X,那么你也需要一个X服务器,这两个都提供了一个。 但是,如果你正在做很多的图形,而且应用程序是用Qt或者wxWidgets写的,那么你将会有一个合理的痛苦来实现它。
首先,我将使用MinGW进行编译(至少在第一次),以消除任何可能的gcc到MSVS问题(不要浪费时间与编译器相关的问题)。
其次,编译代码并观察所有未找到的包含文件。 转到包含这些头文件的代码,找出它是否存在于Windows中的依赖关系(但没有安装或设置为include路径)。 如果不是,则使用跨平台库来替换不可移植的库。 典型的跨平台库包括:Boost,OpenGL,SDL,Qt等(取决于您的应用程序的执行情况)。 如果它只是一个命令行“数字处理”软件,你可能会在Boost中找到你所需要的。