[Предыдущая: Руководство по qmake] [Содержание] [Следующая: Общие проекты qmake] Пособие по qmake
Это пособие научит вас пользоваться qmake. Мы рекомендуем прочитать руководство пользователя по qmake после завершения изучения этого материала. Начать легкоДопустим, что у вас уже закончена начальная реализация вашего приложения, и у вас уже созданы следующие файлы:
Вы найдете эти файлы в каталоге examples/qmake/tutorial дистрибутива Qt. Единственная вещь, которую вы знаете об установке приложения, - это то, что оно написано на Qt. Во-первых, используя текстовый редактор, создайте файл с названием hello.pro в каталоге examples/qmake/tutorial. Единственная вещь, которую необходимо сделать, - это добавить строки, которые говорят qmake о исходном файле и файле заголовке, являющиеся частью разрабатываемого проекта. Во-первых, мы добавим исходные файлы в файл проекта. Чтобы это сделать, нужно использовать переменную SOURCES. Просто начните новую строку с SOURCES += и напишите hello.cpp после нее. У вас должно получиться что-то наподобие этого: SOURCES += hello.cpp Мы повторим эти действия для каждого исходного файла в проекте, в итоге мы получим следующее: SOURCES += hello.cpp SOURCES += main.cpp Если вы предпочитаете использовать make-синтаксис, перечисляя все файлы за один шаг, вы можете использовать новую строку, как показано здесь: SOURCES = hello.cpp \ main.cpp Теперь, когда исходные файлы перечислены в файле проекта, должны быть добавлены файлы заголовка. Добавить их можно практически также, как и исходные файлы, только имя переменной, которое мы используем, - HEADERS. Как только вы сделаете это, ваш файл проекта должен выглядеть так: HEADERS += hello.h SOURCES += hello.cpp SOURCES += main.cpp Конечное имя устанавливается автоматически; оно такое же, как и имя файла проекта, но с суффиксом, соответствующим платформе. Например, если файл проекта называется - hello.pro, результирующее имя будет - hello.exe для Windows и hello для Unix. Если вы хотите использовать другое имя, вы можете установить его в файле проекта: TARGET = helloworld Последний шаг – установить переменную CONFIG. Так как это приложение Qt, нам необходимо поместить qt в строке CONFIG. Это нужно для того, чтобы qmake добавил релевантные библиотеки и обеспечил встроенные строки для moc и uic, включаемые в создаваемый файл сборки. Законченный файл проекта должен выглядеть так: CONFIG += qt HEADERS += hello.h SOURCES += hello.cpp SOURCES += main.cpp Теперь вы можете использовать qmake для создания файла сборки вашего приложения. В командной строке в каталоге с вашим проектом напишите следующее: qmake -o Makefile hello.pro Затем напишите make или nmake, в зависимости от компилятора, который Вы используете. Для пользователей Visual Studio, qmake также может создавать файлы .dsp или .vcproj, например: qmake -tp vc -o hello.dsp hello.pro Отладка приложенияВерсия релиза приложения не может содержать какие-либо символы трассировки или другую отладочную информацию. Но во время разработки полезно создавать отладочную версию приложения, в которой содержится вышеозначенная информация. Этого легко добиться, добавив debug в переменную CONFIG в файле проекта. Например: CONFIG += qt debug HEADERS += hello.h SOURCES += hello.cpp SOURCES += main.cpp Используя qmake перед созданием файла сборки, вы будете получать полезную информацию о вашем приложении во время запуска его в среде отладки. Добавление платформо-зависимых исходных файловВозможно, после нескольких часов программирования, вы заходите сделать часть вашего приложения, ориентированным на определенную платформу, и решите отделить код, зависимый от платформы. Итак, теперь у вас есть 2 новых файла, которые нужно включить в ваш файл проекта:hellowin.cpp и hellounix.cpp. Мы не можем просто добавить их в переменную SOURCES, так как оба файла будут помещены в файл сборки. Потому нам нужно использовать область действия (scope), которая будет обрабатываться в зависимости от того, на какой платформе выполняется qmake. Простая область действия (scope), которая будет добавлена в файл, зависимый от платформы Windows, будет выглядеть так: win32 { SOURCES += hellowin.cpp } Итак, если qmake запущен для Windows, он добавит hellowin.cpp в список исходных файлов. Если qmake запущен для любой другой платформы, он просто будет игнорировать эти строки. Теперь всё, что осталось сделать, - это создать область действия для файла, определенного для Unix. Когда вы это сделаете, ваш файл проекта должен выглядеть так: CONFIG += qt debug HEADERS += hello.h SOURCES += hello.cpp SOURCES += main.cpp win32 { SOURCES += hellowin.cpp } unix { SOURCES += hellounix.cpp } Используйте qmake как и раньше для создания файла сборки. Остановка qmake в случае отсутствия файлаВам может понадобится не создавать Makefile, если определенный файл отсутствует. Используя функцию exists(), мы можем проверить, отсутствует ли файл. С помощью функции error(), можно остановить выполнение qmake. Это работает точно так же, как и область действия (scope). Просто переместите область действия условия в функцию. Проверка для файла main.cpp выглядит так: !exists( main.cpp ) { error( "No main.cpp file found" ) } Символ ! используется для отрицания результата; например, exists( main.cpp ) - истина, если файл отсутствует, и !exists( main.cpp ) - истина, если файл не отсутствует. CONFIG += qt debug HEADERS += hello.h SOURCES += hello.cpp SOURCES += main.cpp win32 { SOURCES += hellowin.cpp } unix { SOURCES += hellounix.cpp } !exists( main.cpp ) { error( "No main.cpp file found" ) } Используйте qmake как и раньше для создания файла сборки. Если вы временно переименуете main.cpp, вы увидите сообщение, и выполнение qmake остановится. Проверка нескольких условийПредположим, вы пользуетесь Windows и хотите видеть информацию с qDebug() во время запуска приложения в командной строке. До тех пор, пока вы не выполните приложение с соответствующими настройками консоли, не увидите выходную информацию. Можно просто написать console в строке CONFIG, и файл сборки под Windows будет иметь эти настройки. Предположим, мы хотим добавить строку CONFIG только в том случае, если мы запускаем под Windows и когда debug прописан в строке CONFIG. Эти требования используют две вложенные области действия (scope); просто создайте одну область действия (scope), затем создайте вторую внутри первой. Поместите код так, чтобы он выполнялся внутри последней области действия (scope), как здесь: win32 { debug { CONFIG += console } } Вложенные области действия (scope) могут применяться вместе, используя двоеточие, в результате конечный файл проекта выглядит так: CONFIG += qt debug HEADERS += hello.h SOURCES += hello.cpp SOURCES += main.cpp win32 { SOURCES += hellowin.cpp } unix { SOURCES += hellounix.cpp } !exists( main.cpp ) { error( "No main.cpp file found" ) } win32:debug { CONFIG += console } Совершенно верно! Только что вы закончили изучать пособие по qmake и готовы к написанию файлов проектов для разрабатываемых проектов. [Предыдущая: Руководство по qmake] [Содержание] [Следующая: Общие проекты qmake]
|
Попытка перевода Qt документации. Если есть желание присоединиться, или если есть замечания или пожелания, то заходите на форум: Перевод Qt документации на русский язык... Люди внесшие вклад в перевод: Команда переводчиков |