这样做是相反的。代码,可能使用一些像Poco或Qt跨平台框架(这也是非GUI代码可用,例如使用QtCore不QtGui),或Boost,在某些Windows独立的方式,并定期编写它都操作系统。
BTW setjmp.h
是C++不友好(与C++异常混淆并且不兼容),即使在Windows上也是如此。
所以删除
#include "setjmp.h" /// wrong in all C++ programs
#include "windows.h" //// specific to Windows
然后修复代码(例如所有的编译错误,但在Linux上编译所有提个醒&调试信息,例如与g++ -Wall -Wextra -g
),可能使用像我提到的那些一些框架。
不要转换 C++代码(从Windows到Linux),但努力去写便携式 C++代码,这要归功于一些精心挑选的框架。
也许您的应用程序可以写一些纯粹的便携式C++ 11(但后来,无需#include "windows.h"
)。像wc
,cat
,grep
(带有所有功能的子集)的命令行实用程序可能可以用可移植的C++ 11编写,甚至可能不需要任何其他框架。
PS。如果没有源代码,也不知道应用程序是什么,就不可能为您提供更多帮助。你的第一个任务是精确理解代码,以及它在Windows上应该做什么。也许用干净的C++ 11重写它(也许有一些额外的框架....)是最快的方法。
你为什么在C++中使用SJLJ? –
这太宽泛了,因为'windows.h'几乎包含了大部分winapis。你需要确切的来源才能得到答案。 –
您显示的所有标题都是系统标题,并应使用尖括号'<>'。 –