2015-08-05 7 views
2

Я пытаюсь получить приложение Qt для создания из командной строки под linux, предназначенное для окон. Я использовал mxe для создания инструментальной цепочки для таргетинга окон, но моя сборка не справляется с различными битами, связанными с потоком. mxe построен с winpthreads, и я знаю, что проект Qt будет основываться на самих окнах изнутри создателя, используя предварительно упакованный компилятор mingw. Я успешно строил с помощью своего кросс-компилятора ARM Linux, поэтому я просто хочу, чтобы окна делали то же самое. Я пытаюсь получить одну строчку на сервере сборки или от Jenkins для всех моих целей.std :: mutex отсутствует при создании приложения Qt с MXE gcc

Я угадываю, что мне не хватает чего-то, что мне нужно передать mxe при создании кросс-сборщика toolchain или, альтернативно, пропустить что-то, что мне нужно передать qmake для успеха этой сборки.

ответ

2

Проблема связана со сборкой GCC по умолчанию GCC с использованием потоков win32, а не для реализации mthww pthreads.

Изменить src/gcc.mk и убедиться, что winpthreads добавлен в список $ (PKG) _DEPS, а затем измените строку configure так, чтобы --enable-threads = win32 становился --enable-threads = posix.

Затем переделайте winpthreads и gcc. Обратите внимание, что здесь есть круговая зависимость, вам нужно собрать gcc с потоками win32 (по умолчанию) сначала THEN римейк с winpthreads.

Благодаря Andreia Gaita для этого - http://blog.worldofcoding.com/2014/05/cross-compiling-c11-without-going-madder.html

 Смежные вопросы

  • Нет связанных вопросов^_^