Russian Qt Forum

Qt => Общие вопросы => Тема начата: Пантер от Ноябрь 26, 2013, 08:39



Название: [4.8.x][РЕШЕНО] MinGW, Qt и posix threads
Отправлено: Пантер от Ноябрь 26, 2013, 08:39
    Решил тут собрать Qt5. Для нее понадобился последний мингв, да еще и с тредами собранный. Делать нечего, обновил, но так как не люблю зоопарк компилей, решил его заюзать и для 4.8.5, которая используется для текущих проектов. Пересобрал Кьют и решил, что теперь все будет зае^Wзамечтательно. Но не тут-то было.
    Один из проектов, работающий под Линухом как часы, начал вести себя под виндой совсем не по-человечески. После двух дней отладки проблема была найдена. Проект состоял из шаред либы и, собственно, самого приложения. Так вот либа и приложения почему-то оказались в разных мэйн потоках, поэтому при попытке создать экземпляр класса из либы (наследника QObject) с установленным ему парентом из приложения, выдавалась ошибка, что нельзя назначать парента из другого треда.
    Пересборка Кьюта с флагом -posix-ipc решила проблему.
    Тут отписался, дабы никто больше на такие грабли не наступил.