Qt: сборка проекта под Win и Lin (различия)

Модератор: Модераторы разделов

Ответить
Аватара пользователя
devilr
Сообщения: 3665
ОС: Mandriva => Gentoo (~amd64)
Контактная информация:

Qt: сборка проекта под Win и Lin (различия)

Сообщение devilr »

Доброго времени суток!
При сборке одного Qt проекта под оффтопиком столкнулся с проблемой. Постараюсь рассказать подробнее.
Итак, имеется некий проект, в .pro файле которого есть конструкция вида

Код: Выделить всё

ROOT = $$PWD/..

SOURCES +=  $$ROOT/src/*.cpp
SOURCES +=  $$ROOT/qt/*.cpp
SOURCES +=  $$ROOT/formula/definition/*.cpp
Если попробовать собрать этот проект в linux, всё соберётся. В SOURCES будет список файлов .cpp и проект соберётся без каких=либо вопросов, не будет даже предупреждений.
Если же попробовать собрать этот же проект под оффтопиком - qmake скажет, что не может найти файлы *.cpp.
В чём может быть дело? Может кто сталкивался?
Мудрость приходит с возрастом.
Иногда возраст приходит один.
Эхо разума
Спасибо сказали:
Аватара пользователя
UnixNoob
Сообщения: 1367
ОС: Slackware

Re: Qt: сборка проекта под Win и Lin (различия)

Сообщение UnixNoob »

devilr,в том что в Windows слэш в обратную сторону в путях? Или это qmake учитывает?
"Однажды один очень мудрый человек… ничего не сказал. Времена были опасные, да и собеседники ненадёжные"
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Qt: сборка проекта под Win и Lin (различия)

Сообщение Bizdelnick »

В qmake не силён, поэтому два тычка пальцем в небо:

Код: Выделить всё

ROOT = $$clean_path($$PWD/..)

Код: Выделить всё

SOURCES +=  $$files($$ROOT/src/*.cpp)
SOURCES +=  $$files($$ROOT/qt/*.cpp)
SOURCES +=  $$files($$ROOT/formula/definition/*.cpp)
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
devilr
Сообщения: 3665
ОС: Mandriva => Gentoo (~amd64)
Контактная информация:

Re: Qt: сборка проекта под Win и Lin (различия)

Сообщение devilr »

UnixNoob писал:
29.11.2022 01:00
devilr,в том что в Windows слэш в обратную сторону в путях? Или это qmake учитывает?
Учитывает. Если писать имя файла с путём - всё нормально. Хоть с прямым слешем, хоть с обратным.
Мудрость приходит с возрастом.
Иногда возраст приходит один.
Эхо разума
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2604
ОС: Gentoo

Re: Qt: сборка проекта под Win и Lin (различия)

Сообщение ormorph »

devilr писал:
29.11.2022 09:20
Если писать имя файла с путём - всё нормально.
Попробуйте использовать absolute_path()
Спасибо сказали:
Аватара пользователя
devilr
Сообщения: 3665
ОС: Mandriva => Gentoo (~amd64)
Контактная информация:

Re: Qt: сборка проекта под Win и Lin (различия)

Сообщение devilr »

ormorph писал(а):
29.11.2022 09:46
devilr писал:
29.11.2022 09:20
Если писать имя файла с путём - всё нормально.
Попробуйте использовать absolute_path()
Там проблема не в пути, а в том, что похоже, qmake под оффтопиком не понимает маски файлов. То есть, если расписать SOURCES в виде списка файлов - всё соберётся.
Это должно как-то просто решаться - в linux ведь таких проблем с *.cpp нет.
Добавлено (10:31):
Методом "научного тыка" выяснил, что qmake под оффтопиком похоже не понимает прямых слешей в сочетании с маской файлов. Причём, если прописывать одиночный файл с прямым слешем - всё соберётся.
Странно, всё как то...
Мудрость приходит с возрастом.
Иногда возраст приходит один.
Эхо разума
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Qt: сборка проекта под Win и Lin (различия)

Сообщение Bizdelnick »

devilr писал:
29.11.2022 10:15
qmake под оффтопиком похоже не понимает прямых слешей в сочетании с маской файлов
А если использовать files(), как я предлагал, тоже не понимает?
Вообще в сборочных системах (любых) считается плохим стилем указывать исходные файлы по маске.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
devilr
Сообщения: 3665
ОС: Mandriva => Gentoo (~amd64)
Контактная информация:

Re: Qt: сборка проекта под Win и Lin (различия)

Сообщение devilr »

Bizdelnick писал:
29.11.2022 13:36
А если использовать files(), как я предлагал, тоже не понимает?
Понимает. Правда, теперь я не понимаю, в чём разница. :)
Bizdelnick писал:
29.11.2022 13:36
Вообще в сборочных системах (любых) считается плохим стилем указывать исходные файлы по маске.
Это да, только не всё мы выбираем. Иногда проект может быть чужой.
Кстати, я не в первый раз вижу маску в Qt-проектах.
Мудрость приходит с возрастом.
Иногда возраст приходит один.
Эхо разума
Спасибо сказали:
Ответить