Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将Qt程序从Win转换为Mac? 我有一个用C++编写QT的Windows程序。我可以知道那些为Windows平台编写的代码是否可以转换为Mac吗?它是100%的代码是可转换的还是没有一个是可转换的?_C++_Windows_Qt_Macos - Fatal编程技术网

如何将Qt程序从Win转换为Mac? 我有一个用C++编写QT的Windows程序。我可以知道那些为Windows平台编写的代码是否可以转换为Mac吗?它是100%的代码是可转换的还是没有一个是可转换的?

如何将Qt程序从Win转换为Mac? 我有一个用C++编写QT的Windows程序。我可以知道那些为Windows平台编写的代码是否可以转换为Mac吗?它是100%的代码是可转换的还是没有一个是可转换的?,c++,windows,qt,macos,C++,Windows,Qt,Macos,国际海事组织,采用暴力手段 安装、打开项目、编译 如果失败,请检查代码以了解特定于平台的内容 它不是“智能”的,但它是有效的,因为如果你计划为mac编写代码,你无论如何都需要下载SDK (请注意,这不是一个交叉编译器,我假设您有一个mac可以开发)mac上有一些不同的东西 应用程序的安装程序需要从头开始编写(如果已安装) 需要移植Windows API调用(如果有) 文件关联(例如,doc意味着调用WinWord.exe)在Mac OS上的执行方式不同 双击关联文件的实现方式不同(不像在Wi

国际海事组织,采用暴力手段

安装、打开项目、编译

如果失败,请检查代码以了解特定于平台的内容

它不是“智能”的,但它是有效的,因为如果你计划为mac编写代码,你无论如何都需要下载SDK


(请注意,这不是一个交叉编译器,我假设您有一个mac可以开发)

mac上有一些不同的东西

  • 应用程序的安装程序需要从头开始编写(如果已安装)
  • 需要移植Windows API调用(如果有)
  • 文件关联(例如,doc意味着调用WinWord.exe)在Mac OS上的执行方式不同
  • 双击关联文件的实现方式不同(不像在Windows中那样通过argv)
  • 菜单不同(默认菜单包含例如“关于”框,而Windows中的“关于”框通常位于“帮助”菜单下)-请注意,这可以用本机的、良好的QT表示,但通常Windows程序员忘记干净地实现菜单)
  • 等等
所以我的结论是:虽然可以编写干净的Qt代码,可以100%地从一个操作系统移植到另一个操作系统,但程序员通常不能做到100%干净,因此需要做一些移植工作

正如hexa建议的那样,继续编译这些东西,并尝试将错误分类。
一旦有了这些类别,就可以决定如何继续。

Qt是一个跨平台的框架。如有变更,则变更应非常微小,并在文件中明显可见。我在QT中从Windows到Linux的经验,我必须做的是在另一台机器上重新编译它,所有的工作都很好。C++编写的代码可以在两个平台上运行,这是完全可能的。但可悲的是,编写只在特定系统的特定版本上工作的代码也很容易……在这里询问之前,您是否尝试过编译您的代码?@Serge Dundich:非常抱歉,因为我正处于提议阶段,而且我没有Mac机,因此我无法对此进行任何实验。为了节省成本,在我收购MAC之前,我曾尝试过bing、google和yahoo group,结果发现以前没有人做过这种转换工作。如果做不到这一点,我的建议将被取消。“发现以前没有人做过这种转换工作”你是如何得出这个结论的?我们是在我们的项目中做的(我想很多人都做了)。对于编写良好的QT程序,您只需重新编译并创建安装包。如果程序不太好,即使没有Mac机器,您也可以移植它-搜索Microsoft特定的代码(您可以删除所有windows#Include,编译器将以编译错误的形式为您显示)这意味着MAC可以在ObjuleC C上完成C++编译,它们是通用计算机,它们可以编译(做)任何给定的编译器(软件):PMAC OS X雪豹有一个内置的GCC提供的苹果-它不是最新版本(4.3的东西)但通常效果很好。XCODE(原生苹果开发系统)和QTCREGER使用这个GCC——因此他们可以编译C、C++、ObjvEC…