我正在尝试将我的C ++应用程序从Linux移植到Windows(Visual C ++)。 我很好奇你知道任何扫描源代码并检查可能的问题的脚本/工具(例如dirent.h等)。
感谢。
答案 0 :(得分:5)
第一个工具称为编译器。它将告诉您程序是否编译。
第二个工具被称为运行您可能拥有的任何测试。他们会告诉你生成的二进制文件是否有效。
你在寻找什么,一个水晶球来拯救你的工作?无论你采取什么方法或者你可以阅读什么来帮助你开始,你都会在某个时候必须(1)编译这个东西,(2)检查它是否有效。
答案 1 :(得分:3)
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这样的东西编写的,那么你将会有一定的痛苦让它发挥作用。
答案 2 :(得分:3)
Microsoft在MSDN上有关于管理从* nix到Win32的端口的“最佳”方式的条目。
答案 3 :(得分:1)
首先,我只是使用MinGW(至少在开始时)编译,以消除任何可能的gcc到MSVS问题(不要浪费时间与编译器相关的问题)。
其次,只需编译代码并观察未找到的所有包含文件。转到包含这些标头的代码,确定它是否是Windows中存在的依赖关系(但尚未在include-paths中安装或设置)。如果没有,请使用跨平台库来替换不可移植的库。典型的跨平台库包括:Boost,OpenGL,SDL,Qt等(取决于您的应用程序的运行情况)。如果它只是一个命令行“数字运算”软件,你可能会在Boost找到所需的一切。