Я строю QT приложение на Ubuntu, которое работает довольно хорошо. Теперь я должен развернуть его на Windows, поэтому я установил MXE для кросс-компиляции моих источников.
git clone https://github.com/mxe/mxe.git
cd mxe
# I need posix threads, that why I build static.posix target
make MXE_TARGETS='i686-w64-mingw32.static.posix' qtbase libxml2
Я использую личную библиотеку (которая использует cmake
) и клиент / серверный код для моего QT код, который я скомпилировал MXE и это не дает никакой ошибки (я упорно трудился, чтобы исправить их …). Затем сборник для QT достигает конца без каких-либо ошибок.
Всякий раз, когда я пытаюсь выполнить программу (с wine
на Ubuntu или на Windows) это не работает. wine
зависает и Windows показывает мне Runtime Error
,
Я также пытался использовать windeployqt.exe
с помощью wine
на моем исполняемом файле, прыжок это даст мне недостающие библиотеки DLL, но он говорит мне:
Z:\path\release\Executable.exe 32 bit, release executable
Z:\path\release\Executable.exe does not seem to be a Qt executable.
Я действительно понятия не имею, что сломано. Я забываю поставить dll или моя компиляция молча провалилась? Кто-нибудь знает или есть идеи о том, как бороться с этим делом?
Видимо я правильно компилирую свою программу, похоже, ошибка исходит от GetAdapterAdresse
при использовании Windows. Проблема не в MXE (я рад, что все заработало).
Мне нужно посмотреть на эту функцию, но кто-нибудь знает, как сделать gdb
работать с MXE ? Когда я побежал make gdb
, он что-то построил, но я не могу понять, где находится программа.
Задача ещё не решена.
Других решений пока нет …