问题标签 [mxe]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
90 浏览

c++ - MXE 中缺少软件包

我在 Qt 中做了一个 C++ 项目。我的应用使用 QMediaPlayer 和 QVideoWidget 显示短视频。当我在 Qt 中编译它时一切正常。我是 Linux 用户。当我尝试在 MXE 中交叉编译它时,问题就开始了。我有一个错误:

我加了

在我的 .pro 文件中。我注意到 MXE 包列表中没有 QMultimediaWidget 。

有没有办法解决这个问题?

0 投票
0 回答
391 浏览

c++ - 使用外部库交叉编译基于 Qt 的应用程序

我有一个用 C++ 编写的基于 Qt 的应用程序,并且我正在使用fuzzylite 6.0库,我想静态链接它。

编译和执行在我的 Arch Linux 机器上完美运行。但是,我也想为 Windows 构建。因此,我使用 MXE ( )为 Windows 构建了MXE工具链和 blurlite 。MXE_TARGETS=x86_64-w64-mingw32.static

编译过程运行良好,除了来自外部库的一些警告(我相信他们使用一些 MSVC#pragma来禁用它们,但它们仍然出现在 MinGW 中)。

但是,生成的 PE 可执行文件在 x86_64 Windows 机器上完全没有任何作用。当我启动可执行文件时,没有错误,也没有弹出任何内容。

当我在没有fuzzylite(并且没有fuzzylite 相关代码)的情况下编译时,它确实有效,这让我认为在构建我的应用程序或fuzzylite 期间存在问题,但我无法找到解决方案。


以下是我采取的具体步骤:

  • 安装 MXE Qt 工具链:

    /li>
  • 构建fuzzylite:

    阅读此答案后,我修改build.sh为使用 MXE 版本,因为它会自动为 Windows 使用适当的工具链文件。cmake

    blurlite 也有一个build.bat文件,但我相信它只能Windows 环境中执行。

  • 安装fuzzylite:

    /li>
  • 构建应用程序:

    /li>

这是我的.pro文件(项目名为code):

在构建fuzzylite 和我的应用程序期间生成的警告示例:

0 投票
0 回答
171 浏览

python - 当我尝试交叉编译 Qt 项目时出现 Python 错误

我正在尝试使用MXE对我的 c++ qt 项目进行交叉编译。环境配置良好,工作正常,但如果有 python 代码则不行。

exe我的目标是在 linux 下为我的项目的 Windows构建一个静态的。

实际上,有一个类似的问题,但它不一样......而且它没有得到回答。

有一些这样的错误:

/usr/include/python3.6m/pyconfig.h:104:3: error: #error unknown multiarch location for pyconfig.h

搜索pyconfig.h我可以阅读:

我知道没有定义 windows 平台,因此我想我可以为 windows 编译一个静态版本的 python,但我不确定。

然后,¿究竟是我的错误,我该如何解决?

0 投票
0 回答
72 浏览

c++ - 如果 QDockWidget 变得可见,Qt 应用程序变得比屏幕大

我有旧的Qt C++应用程序,可以在台式机或笔记本电脑上完美运行。我现在正试图让它在具有 1920 X 1200 分辨率的屏幕的High DPI触摸屏嵌入式设备中工作。10 inch设备正在运行Windows 10。我正在使用MXE在我的 Ubuntu 机器上为 Windows 进行交叉编译。

按照这里给出的建议,我添加了以下几行来自动扩展我的应用程序。

应用程序以正确的大小开始:

在此处输入图像描述

但是,当我使settingWidget添加到的可见时QDockWidget,应用程序会变得大于屏幕尺寸。我无法理解问题的根源。

在此处输入图像描述

代码库非常大,如果有人想查看代码,那么他们必须帮助我处理可能存在错误的代码片段,我将在此处发布。

0 投票
0 回答
175 浏览

python - 如何使用 MXE 交叉编译 64 位 Python

我有一个项目使用 MXE 从 Linux 交叉编译到 Windows。在从 32 位迁移到 64 位的过程中,我在运行时在 Py_DECREF 上遇到问题。完整的细节在这里:

Python XDECREF 在 64 位 mingw 上失败

我认为 mingw exe 和 DLL 文件之间的奇怪交互可能存在一些问题,而我已经陷入了困境。作为替代计划,我也在尝试交叉编译 python,以生成一个我可以链接的 .a 文件,而不是 DLL。

我一直试图找到正确的 ./configure 集并制作 args,目前:

但这失败了,因为 MS_WINDOWS 没有得到#defined,这一定意味着我错过了一些关于如何正确包含 PC/pyconfig.h(以及该目录中的任何其他内容)的内容

0 投票
1 回答
132 浏览

c - 交叉编译探针 - rdynamic

我一直在尝试将库 libsound 交叉编译到 wsl2 上的 Windows 10。

我使用了库的 github中描述的步骤。会议“为 Windows 构建”

但是,我在 cmake 执行过程中遇到了一些问题:

命令返回:

/home/andre/git/libsoundio/build-win64/CMakeFiles/没有登录。

我遵循了 github 中描述的所有说明。

有谁知道发生了什么?

0 投票
1 回答
148 浏览

ffmpeg - MXE 编译,openjpeg.h not found 错误

我正在为 FFmpeg 的交叉编译编译 MXE。我按照此处的说明操作,运行make命令后,出现以下错误:

似乎找不到 openjpeg.h 并在文件夹 openjpeg-2.0 中搜索到 openjpeg-2.3。但是,当我检查 /mxe/usr/i686-w64-mingw32.static/include/ 时,它包含 openjpeg-2.4。

/mxe/log/gdal_i686-w64-mingw32.static 的日志在此处

请帮助解决这个问题。谢谢。

0 投票
0 回答
34 浏览

cross-compiling - MXE:运行 make 文件配置错误时面临 C 编译器无法创建可执行文件的问题?

异常详情请参考下面的堆栈跟踪:

config.log 错误:

0 投票
2 回答
171 浏览

mingw-w64 - 交叉编译 SystemC 库并链接到它们

我从头开始,并遵循以下主要步骤:

1.构建并安装交叉编译器工具链(主机Linux,目标Win64):

获取此MXE 版本,仅更改plugins/gcc6/gcc6-overlay.mk

然后很简单(只需要一些时间,make --jobs=X JOBS=Y用来加速):

2. 交叉编译和安装SystemC 2.3.3 库

这同样简单(但要快得多!):

3. 构建一个简单的可执行文件

写几行代码sc_main.cpp

现在通过最后一步进行构建:

我得到一大堆

(以及相同的变体)。

谁能重现并解释发生了什么?

当 SystemCconfigure完成时,它清楚地表明它不会使用 Posix 线程,而是使用 WinFiber,所以看到这些未解决的对 phread 的依赖关系我有点惊讶(为了记录,-lpthread在命令行末尾添加仍然会产生结果相同)

4. 以不同方式构建 SystemC 库的奖励实验

如果我使用本机 Win64 工具链构建 SystemC 库,然后使用相同的命令行构建我的可执行文件:

然后一切正常,正如预期的那样。

cmake此外,如果我使用而不是交叉编译和安装 SystemC 库configure

然后,正如预期的那样,一切都运行良好。

我怀疑交叉编译时没有正确生成 SystemC 库。任何人都可以确认/否认吗?

0 投票
1 回答
129 浏览

c++ - 使用 MXE CMake 编译 SDL 程序时出错

调用i686-w64-mingw32.static-cmake CMakeLists.txt然后make使用不使用任何外部库的程序,但是在尝试交叉编译 Windows 的 SDL 程序时会发生以下错误。

CMake 日志。

犯错误。

我的CMakeLists.txt

同一个CMakeLists.txt文件在 *nix 上工作得很好,但在这里失败了。到底是怎么回事?

编辑

新的细节。

CMake 工具链文件。

和makefile的部分

带有SDL2的行是目标模式错误的行。