Название: Ошибка сборки при переносе с Windows на Linux Отправлено: Ovoshlook от Январь 21, 2011, 14:36 В общем проблема следующего характера:
Под Windows приложение собиралось и компилировалось замечательно. При запуске приложения под Linux-ом (Mandriva) Пишет сообщение об ошибке на этапе сборки: :: warning: Qmake does not support build directories below the source directory. Подскажите подажуйста в чем проблема ик4ак ее можно решить. Спасибо всем заранее. Название: Re: Ошибка сборки при переносе с Windows на Linux Отправлено: JamS007 от Январь 21, 2011, 16:34 1. Это не ошибка, это - предупреждение от qmake.
2. Оно указывает на то, что каталог сборки должен быть на том же уровне (или ниже), что и каталог исходников. Название: Re: Ошибка сборки при переносе с Windows на Linux Отправлено: Ovoshlook от Январь 21, 2011, 16:50 То есть мне просто нужно перенести файлы с кодом моей программы в директроию, в которой например лежит сходный код SDK?
Название: Re: Ошибка сборки при переносе с Windows на Linux Отправлено: Пантер от Январь 21, 2011, 16:55 Нет. Компилить нужно в другом месте. Допустим, ты в каталоге с файлом pro. Делаешь так:
mkdir build && cd build && qmake ../{file}.pro && make Вместо {file} подставь нужное значение. Название: Re: Ошибка сборки при переносе с Windows на Linux Отправлено: b-s-a от Февраль 04, 2011, 15:56 вообще-то, qmake ругается на то, что каталог сборки находится ВНУТРИ каталога исходников. Т.е. чтобы все нормально собиралось необходимо создать каталог сборки на том же уровне, что и каталог с исходниками:
/home/user/myproject - здесь исходники /home/user/myproject-build - здесь сборка Название: Re: Ошибка сборки при переносе с Windows на Linux Отправлено: andrew.k от Ноябрь 27, 2011, 19:53 вообще-то, qmake ругается на то, что каталог сборки находится ВНУТРИ каталога исходников. Т.е. чтобы все нормально собиралось необходимо создать каталог сборки на том же уровне, что и каталог с исходниками: А с чем это связано?/home/user/myproject - здесь исходники /home/user/myproject-build - здесь сборка У меня каталог в котором лежат исходники под свн, поэтому файлы сборки мешаются при коммитах. Я каталог сборки вынес в другое место совершенно. Получил предупреждение. Но сборка идет. Вроде все хорошо. Дособирается. Посмотрю. Какие могут быть проблемы? И еще. Предупреждение похоже пишет не qmake, а qtcreator по своей инициативе, потому что в консоли сборки от qmake не видно никаких сообщений, а в сообщениях сборки есть. Название: Re: Ошибка сборки при переносе с Windows на Linux Отправлено: andrew.k от Ноябрь 27, 2011, 20:29 Собралось, даже запускается, но как-то кривовато слинковались либы.
И таких ui.dll там очень много. Название: Re: Ошибка сборки при переносе с Windows на Linux Отправлено: andrew.k от Ноябрь 27, 2011, 20:52 Оказывается это не связано с каталогом сборки. в исходном каталоге так же собирается.
Еще. В другой каталог перенести можно. Просто нужно такой же уровень вложенности почему-то. Например. Т.е. исходники: c:\dev\projects\project\src (4 уровня) Каталог сборки: верно: c:\build\projects\project\release (4 уровня) неверно: c:\dev\projects\build\project\release (5 уровней) Теперь остается вопрос, почему в Dll dependency ui.dll присутствует в таком количестве? Название: Re: Ошибка сборки при переносе с Windows на Linux Отправлено: lit-uriy от Ноябрь 27, 2011, 21:30 >>Просто нужно такой же уровень вложенности почему-то.
Это потому, что qmake суёт в make-файл относительные пути: ../../../path/to/file не отслеживая где, что реально находится. Название: Re: Ошибка сборки при переносе с Windows на Linux Отправлено: andrew.k от Ноябрь 27, 2011, 23:34 >>Просто нужно такой же уровень вложенности почему-то. Ну так для этого не нужен такой же.Это потому, что qmake суёт в make-файл относительные пути: ../../../path/to/file не отслеживая где, что реально находится. Нужен уровень вложенности не меньше чем у исходников. А он требует ровно такой же. Название: Re: Ошибка сборки при переносе с Windows на Linux Отправлено: andrew.k от Ноябрь 27, 2011, 23:35 Насчет зависимостей dll есть мысли у кого-нибудь?
Нормально ли это? |