我需要在最近开始的实习中将相当大的Visual C / C ++项目移植到Android。 我昨天又问了一个关于这个话题的问题 ,要求帮助find一个移植的概念。 我得到了一个答案,提出了一个自动化的解决scheme(像单声道为Android),但经过一天的研究明确的我的概念,我倾向于一个“手动解决scheme”,这将意味着我手动删除everythin Windos和Visual具体用Android可用的函数replace它。
现在,我想到的第一件事就是首先使用windows gnu编译器删除所有视觉特定的东西,然后使用linux gnu编译器(而不是使用ndk在Android上运行它)来删除所有的Windows。
这意味着我把它从Windows移植到Linux,而不是从Linux移植到Android,假设从Linux到Android的步骤是相当小的,因为我希望Code从Linux到Android几乎可以保持不变,因为Android基于Linux核心。
现在我的问题是:这是一个好主意,还是从Linux移植到Android也是一个很大的努力,所以我会做所有的工作两次,一次从Windows到Linux,而不是从Linux到Android的另一次?
build议如何做得更好是绝对的欢迎!
编辑:忘记提及,这将是一个更大的应用程序的一部分,不包含任何graphics用户界面的东西(我知道在这个原因,虽然Linux到Android步骤的Linux将是沉重的工作),只是接口的组件上下。
不要试图手动删除“Windows的东西”。
相反,创建一个“仿真层” – 在头中定义项目使用的所有窗口函数并编写它们的主体。
这样你就可以保持你的项目不变,甚至可以把它作为新的版本。
在移植Windows-> Linux时,您可能会遇到以下“大”问题:
移植Linux-> Android最大的麻烦应该是UI。 如果你没有涉及用户交互,我建议首先移植win-> lin。
如果需要,可以从Linux中引入和构建丢失的库。
如果需要任何用户交互,您可能需要使用Java编写原生Android前端应用程序,并通过D-Bus与您的主程序进行交互。