2015-05-28 2 views
1

У меня есть программа cli, которую я хочу построить на старых компьютерах (у которых не установлен qt). У моей основной машины разработки есть QT, и я использую qt-creator для выполнения большей части моей работы, однако, когда вы переходите к этим старым машинам и запускаете make, make-файл, созданный qmake, ожидает, что qmake будет доступен.конвертировать qmake файл в make-файл unix

Как сделать файлы qmake переносимыми? Редактировать: Платформа Linux, (различные серверы, некоторые старые некоторые новые) с использованием qmake для создания make-файла не работает, потому что созданный make-файл нуждается в qmake (отсюда мой вопрос).

+0

Это зависит ... если вы используете библиотеки Qt в своем проекте (QString, QApp, QWidgets и т. Д.), Вам нужно будет установить Qt для компиляции вашего проекта. –

ответ

1

Было бы хорошо, если вы сообщите нам свою платформу желаний, где вы хотите использовать make.

Используя QMAKE, вы можете легко создать Makefile для вас желание платформы, запустив QMAKE в

$qmake -spec your_desire_platform_spec your_project.pro 

Затем запустить, сделать как

$make 

Say, вы хотите, чтобы запустить его на FreeBSD ;

, если вы хотите использовать лязг, QMAKE в

$qmake -spec freebsd-clang your_project.pro 

, если вы хотите использовать г ++, запустить QMAKE в

$qmake -spec freebsd-g++ your_project.pro 

затем запустить сделать

$make 

Надеются, что это будет помочь тебе.

+1

Нет, это не работает, потому что созданный make-файл ожидает, что qmake будет присутствовать. Я ищу упрощенную версию make make. Среда - это Linux на нескольких серверах. – iplayfast

+0

Посмотрите, поможет ли это https://gist.github.com/mishurov/8134532 – Learner

+0

У вас были надежды. Я думал, вы умело сделали make-файл, который конвертирует файлы qmake для создания файлов. Файл qmake, который я имею в виду, довольно большой и охватывает несколько каталогов и условных определений. Я знаю, что мне, вероятно, придется сделать это вручную, просто надеясь, что есть автоматический метод. – iplayfast

1

Не используйте qmake для выполнения проектов без Qt. Это не имеет никакого смысла. Однако, если ваш файл проекта просто серия

SOURCES = ... 

затем просто определить Makefile переменную с теми же значениями, определить что-то вроде

OBJECTS = $(patsubst %.cpp,%.o, $(SOURCES)) 

А затем определить правило как:

%.o: %.cc 
     g++ -o [email protected] $< 

(или какой бы компилятор не был правильным).

Вы также можете посмотреть созданный файл Makefile, разбить его на самое основное выражение и отбросить файл qmake.

+3

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

+0

... и это определенно имеет смысл, чем писать make-файлы вручную. –

+0

Использование qmake по умолчанию используется в qt-creator, который является моей платформой разработки. Я попытался скрыть сгенерированный make-файл до его самого яркого выражения, но он очень сильно осложнился. (Это довольно большой проект). – iplayfast

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