【问题标题】:Building a library across platforms without running all of the platforms跨平台构建库而不运行所有平台
【发布时间】:2010-10-07 09:27:12
【问题描述】:

我有一小段代码可用作大型图形应用程序的插件。开发平台是带有 c++ 代码的 Qt。我已经设法分别为 linux、MacOS 和 Windows 构建了一个 .so、.dylib 和 .dll,但要做到这一点,我必须有一台运行每个操作系统的机器(在我的情况下,本机运行 linux [ubuntu] gcc,以及虚拟机中的 windows MinGW 和 MacOS XCode gcc)。

有没有一种方法可以从一个平台构建所有 3 个平台?不久前,我对这个问题大发雷霆,迄今为止的研究表明,这并不容易(或可行)完成。代码只需要链接到定义插件的单个标头 API 并且是从一个相当基本的 Makefile 构建的(目前每个平台都有小的变化)。

【问题讨论】:

    标签: c++ build cross-platform makefile


    【解决方案1】:

    你应该看看交叉编译。

    您基本上构建了一个编译器,该编译器(在您当前的平台上)将为您所需的平台输出二进制文件。

    尝试this link 在 linux、windows 上使用 QT 进行操作

    【讨论】:

      【解决方案2】:

      迟到总比没有好,我刚遇到IMCROSS

      看起来很有希望!

      【讨论】:

        【解决方案3】:

        对于 Linux,例如使用 VMWare 设置甚至下载虚拟机​​相当容易。让 OSX 在 VMWare 上运行有点棘手,但可能。

        运行 VMWare 并在本地驱动器上共享目录,您甚至可以使用完全相同的文件针对不同平台进行编译。

        OSX 有一个交叉编译器,但我不相信它的质量很好。

        【讨论】:

        • OSX 使用 gcc,使用 linux 上的交叉编译器为 OSX 编译应该得到几乎相同的结果。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-06-30
        • 2016-01-09
        相关资源
        最近更新 更多