Редактирование: Qt:Документация 4.3.2/qmake-tutorial

Материал из Wiki.crossplatform.ru

Перейти к: навигация, поиск
Внимание: Вы не представились системе. Ваш IP-адрес будет записан в историю изменений этой страницы.
Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия Ваш текст
Строка 4: Строка 4:
=Пособие по qmake<br />=
=Пособие по qmake<br />=
-
Это пособие научит Вас пользоваться ''qmake''. Мы рекомендуем прочитать руководство пользователя по ''qmake'' после завершения изучения этого материала
+
Это пособие научит Вас пользоваться <tt>qmake</tt>. Мы рекомендуем прочитать руководство пользователя по <tt>qmake</tt> после завершения изучения этого материала
<div id="starting-off-simple"></div>
<div id="starting-off-simple"></div>
==Начать легко==
==Начать легко==
Строка 13: Строка 13:
*main.cpp
*main.cpp
-
Вы найдете эти файлы в каталоге ''examples/qmake/tutorial'' дистрибутива QT. Единственная вещь, которую Вы знаете об установке приложения, - это то, что оно написано на QT. Во-первых, используя текстовый редактор, создайте файл с названием ''hello.pro'' в каталоге ''examples/qmake/tutorial''. Единственная вещь, которую  необходимо сделать, - это добавить строки, которые говорят ''qmake'' о исходном файле и файле заголовке, являющиеся частью  разрабатываемого проекта.
+
Вы найдете эти файлы в каталоге <tt>examples/qmake/tutorial</tt> дистрибутива QT. Единственная вещь, которую Вы знаете об установке приложения, - это то, что оно написано на QT. Во-первых, используя текстовый редактор, создайте файл с названием <tt>hello.pro</tt> в каталоге <tt>examples/qmake/tutorial</tt>. Единственная вещь, которую  необходимо сделать, - это добавить строки, которые говорят <tt>qmake</tt> о исходном файле и файле заголовке, являющиеся частью  разрабатываемого проекта.
-
Во-первых, мы добавим исходные файлы в файл проекта. Чтобы это сделать,  нужно использовать переменную [[Qt:Документация 4.3.2/qmake-variable-reference#sources | SOURCES]]. Просто начните новую строку с ''SOURCES +='' и напишите hello.cpp после нее. У Вас должно получиться что-то наподобие этого:
+
Во-первых, мы добавим исходные файлы в файл проекта. Чтобы это сделать,  нужно использовать переменную [[Qt:Документация 4.3.2/qmake-variable-reference#sources | SOURCES]]. Просто начните новую строку с <tt>SOURCES +=</tt> и напишите hello.cpp после нее. У Вас должно получиться что-то наподобие этого:
<source lang="cpp-qt"> SOURCES += hello.cpp</source>  
<source lang="cpp-qt"> SOURCES += hello.cpp</source>  
Мы повторим эти действия для каждого исходного файла в проекте, в итоге мы получим следующее:
Мы повторим эти действия для каждого исходного файла в проекте, в итоге мы получим следующее:
Строка 29: Строка 29:
  SOURCES += hello.cpp
  SOURCES += hello.cpp
  SOURCES += main.cpp</source>  
  SOURCES += main.cpp</source>  
-
Конечное имя устанавливается автоматически; оно такое же, как и имя файла проекта, но с суффиксом, соответствующим платформе. Например, если  файл проекта называется - ''hello.pro'', результирующее имя будет - ''hello.exe'' для Windows и ''hello'' для Unix. Если Вы хотите использовать другое имя, Вы можете установить его в файле проекта:
+
Конечное имя устанавливается автоматически; оно такое же, как и имя файла проекта, но с суффиксом, соответствующим платформе. Например, если  файл проекта называется - <tt>hello.pro</tt>, результирующее имя будет - <tt>hello.exe</tt> для Windows и <tt>hello</tt> для Unix. Если Вы хотите использовать другое имя, Вы можете установить его в файле проекта:
<source lang="cpp-qt"> TARGET = helloworld</source>  
<source lang="cpp-qt"> TARGET = helloworld</source>  
-
Последний шаг – установить переменную [[Qt:Документация 4.3.2/qmake-variable-reference#config | CONFIG]]. Так как это приложение QT , нам необходимо поместить ''qt'' в строке ''CONFIG''. Это нужно для того,  чтобы ''qmake'' добавил релевантные библиотеки и обеспечил встроенные строки для ''moc'' и ''uic'', включаемые в созданный Makefile.
+
Последний шаг – установить переменную [[Qt:Документация 4.3.2/qmake-variable-reference#config | CONFIG]]. Так как это приложение QT , нам необходимо поместить <tt>qt</tt> в строке <tt>CONFIG</tt>. Это нужно для того,  чтобы <tt>qmake</tt> добавил релевантные библиотеки и обеспечил встроенные строки для <tt>moc</tt> и <tt>uic</tt>, включаемые в созданный Makefile.
Законченный файл проекта должен выглядеть так:
Законченный файл проекта должен выглядеть так:
Строка 38: Строка 38:
  SOURCES += hello.cpp
  SOURCES += hello.cpp
  SOURCES += main.cpp</source>  
  SOURCES += main.cpp</source>  
-
Теперь Вы можете использовать ''qmake'' для создания Makefile Вашего приложения. В командной строке в каталоге с Вашим проектом напишите следующее:
+
Теперь Вы можете использовать <tt>qmake</tt> для создания Makefile Вашего приложения. В командной строке в каталоге с Вашим проектом напишите следующее:
<source lang="cpp-qt"> qmake -o Makefile hello.pro</source>  
<source lang="cpp-qt"> qmake -o Makefile hello.pro</source>  
-
Затем напишите ''make'' или ''nmake'' в зависимости от компилятора, который Вы используете.
+
Затем напишите <tt>make</tt> или <tt>nmake</tt> в зависимости от компилятора, который Вы используете.
-
Для пользователей Visual Studio, ''qmake'' также может создавать файлы ''.dsp'' или ''.vcproj'', например:
+
Для пользователей Visual Studio, <tt>qmake</tt> также может создавать файлы <tt>.dsp</tt> или <tt>.vcproj</tt>, например:
<source lang="cpp-qt"> qmake -tp vc -o hello.dsp hello.pro</source> <div id="making-an-application-debuggable"></div>
<source lang="cpp-qt"> qmake -tp vc -o hello.dsp hello.pro</source> <div id="making-an-application-debuggable"></div>
==Отладка приложения==
==Отладка приложения==
-
Версия релиза приложения не может содержать какие-либо символы трассировки или другую отладочную информацию. Но во время разработки полезно создавать отладочную версию приложения, в которой содержится значимая информация. Этого легко добиться, добавив ''debug'' в переменную ''CONFIG'' в файле проекта.
+
Версия релиза приложения не может содержать какие-либо символы трассировки или другую отладочную информацию. Но во время разработки полезно создавать отладочную версию приложения, в которой содержится значимая информация. Этого легко добиться, добавив <tt>debug</tt> в переменную <tt>CONFIG</tt> в файле проекта.
Например:
Например:
Строка 52: Строка 52:
  SOURCES += hello.cpp
  SOURCES += hello.cpp
  SOURCES += main.cpp</source>  
  SOURCES += main.cpp</source>  
-
Используя ''qmake'' перед созданием Makefile, Вы будете получать полезную информацию о Вашем приложении во время запуска его в среде отладки.
+
Используя <tt>qmake</tt> перед созданием Makefile, Вы будете получать полезную информацию о Вашем приложении во время запуска его в среде отладки.
<div id="adding-platform-specific-source-files"></div>
<div id="adding-platform-specific-source-files"></div>
==Добавление платформо-ориентированных исходных файлов==
==Добавление платформо-ориентированных исходных файлов==
-
Возможно, после нескольких часов программирования, Вы заходите сделать часть Вашего приложения, ориентированным на определенную платформу, и решите отделить код, зависимый от платформы. И так, теперь у Вас есть 2 новых файла, которые нужно включить в Ваш файл проекта: ''hellowin.cpp'' и ''hellounix.cpp''. Мы добавим их в переменную ''SOURCES'', так как оба файла будут помещены в Makefile. Все, что нам нужно сделать для этого, - это использовать область действия (scope), которая будет обрабатываться в зависимости от того, на какой платформе выполняется ''qmake''.
+
Возможно, после нескольких часов программирования, Вы заходите сделать часть Вашего приложения, ориентированным на определенную платформу, и решите отделить код, зависимый от платформы. И так, теперь у Вас есть 2 новых файла, которые нужно включить в Ваш файл проекта: <tt>hellowin.cpp</tt> и <tt>hellounix.cpp</tt>. Мы добавим их в переменную <tt>SOURCES</tt>, так как оба файла будут помещены в Makefile. Все, что нам нужно сделать для этого, - это использовать область действия (scope), которая будет обрабатываться в зависимости от того, на какой платформе выполняется <tt>qmake</tt>.
Простая область действия (scope), которая будет добавлена в файл, зависимый от платформы Windows, будет выглядеть так:
Простая область действия (scope), которая будет добавлена в файл, зависимый от платформы Windows, будет выглядеть так:
Строка 61: Строка 61:
     SOURCES += hellowin.cpp
     SOURCES += hellowin.cpp
  }</source>  
  }</source>  
-
И так, если ''qmake'' запущен для Windows, он добавит ''hellowin.cpp'' в список исходных файлов. Если ''qmake'' запущен для любой другой платформы, он просто будет игнорировать эти строки. Теперь все, что осталось сделать, - это создать область действия для файла, определенного для Unix.
+
И так, если <tt>qmake</tt> запущен для Windows, он добавит <tt>hellowin.cpp</tt> в список исходных файлов. Если <tt>qmake</tt> запущен для любой другой платформы, он просто будет игнорировать эти строки. Теперь все, что осталось сделать, - это создать область действия для файла, определенного для Unix.
Когда Вы это сделаете, Ваш файл проекта должен выглядеть так:
Когда Вы это сделаете, Ваш файл проекта должен выглядеть так:
Строка 74: Строка 74:
     SOURCES += hellounix.cpp
     SOURCES += hellounix.cpp
  }</source>  
  }</source>  
-
Используйте ''qmake'' перед созданием Makefile.
+
Используйте <tt>qmake</tt> перед созданием Makefile.
<div id="stopping-qmake-if-a-file-doesn-t-exist"></div>
<div id="stopping-qmake-if-a-file-doesn-t-exist"></div>
==Остановка qmake в случае отсутствия файла==
==Остановка qmake в случае отсутствия файла==
-
Вам может понадобится не создавать Makefile, если определенный файл отсутствует.  Используя функцию exists(), мы можем проверить, отсутствует ли файл. С помощью функции error(), можно остановить выполнение ''qmake''. Это работает точно так же, как и область действия (scope). Просто переместите область действия условия в функцию. Проверка для файла ''main.cpp'' выглядит так:
+
Вам может понадобится не создавать Makefile, если определенный файл отсутствует.  Используя функцию exists(), мы можем проверить, отсутствует ли файл. С помощью функции error(), можно остановить выполнение <tt>qmake</tt>. Это работает точно так же, как и область действия (scope). Просто переместите область действия условия в функцию. Проверка для файла <tt>main.cpp</tt> выглядит так:
<source lang="cpp-qt"> !exists( main.cpp ) {
<source lang="cpp-qt"> !exists( main.cpp ) {
     error( "No main.cpp file found" )
     error( "No main.cpp file found" )
  }</source>  
  }</source>  
-
Символ ''!'' используется для отрицания результата; например, ''exists( main.cpp )'' - истина, если файл отсутствует, и ''!exists( main.cpp )'' - истина, если файл не отсутствует.
+
Символ <tt>!</tt> используется для отрицания результата; например, <tt>exists( main.cpp )</tt> - истина, если файл отсутствует, и <tt>!exists( main.cpp )</tt> - истина, если файл не отсутствует.
<source lang="cpp-qt"> CONFIG += qt debug
<source lang="cpp-qt"> CONFIG += qt debug
  HEADERS += hello.h
  HEADERS += hello.h
Строка 95: Строка 95:
     error( "No main.cpp file found" )
     error( "No main.cpp file found" )
  }</source>  
  }</source>  
-
Используйте ''qmake'' перед созданием Makefile. Если Вы временно переименуете ''main.cpp'', Вы увидите сообщение, и выполнение ''qmake'' остановится.
+
Используйте <tt>qmake</tt> перед созданием Makefile. Если Вы временно переименуете <tt>main.cpp</tt>, Вы увидите сообщение, и выполнение <tt>qmake</tt> остановится.
<div id="checking-for-more-than-one-condition"></div>
<div id="checking-for-more-than-one-condition"></div>
==Проверка нескольких условий==
==Проверка нескольких условий==
-
Предположим, Вы пользуетесь Windows и хотите видеть информацию с [[Qt:Документация 4.3.2/qtglobal#qDebug | qDebug]]() во время запуска приложения в командной строке. До тех пор пока Вы не выполните приложение с соответствующими настройками консоли, не увидите выходную информацию. Можно просто написать ''console'' в строке ''CONFIG'', и Makefile под Windows будет иметь эти настройки. Предположим, мы хотим добавить строку ''CONFIG'' только в том случае, если мы запускаем под Windows и когда ''debug'' прописан в строке ''CONFIG''.  Эти требования используют две вложенные области действия (scope); просто создайте одну область действия (scope), затем создайте вторую внутри первой. Поместите код так, чтобы он выполнялся внутри последней области действия (scope), как здесь:
+
Предположим, Вы пользуетесь Windows и хотите видеть информацию с [[Qt:Документация 4.3.2/qtglobal#qDebug | qDebug]]() во время запуска приложения в командной строке. До тех пор пока Вы не выполните приложение с соответствующими настройками консоли, не увидите выходную информацию. Можно просто написать <tt>console</tt> в строке <tt>CONFIG</tt>, и Makefile под Windows будет иметь эти настройки. Предположим, мы хотим добавить строку <tt>CONFIG</tt> только в том случае, если мы запускаем под Windows и когда <tt>debug</tt> прописан в строке <tt>CONFIG</tt>.  Эти требования используют две вложенные области действия (scope); просто создайте одну область действия (scope), затем создайте вторую внутри первой. Поместите код так, чтобы он выполнялся внутри последней области действия (scope), как здесь:
<source lang="cpp-qt"> win32 {
<source lang="cpp-qt"> win32 {
     debug {
     debug {
Строка 121: Строка 121:
     CONFIG += console
     CONFIG += console
  }</source>  
  }</source>  
-
Совершенно верно! Только что Вы закончили изучать пособие по ''qmake'' и готовы к написанию файлов проектов для разрабатываемых проектов.
+
Совершенно верно! Только что Вы закончили изучать пособие по <tt>qmake</tt> и готовы к написанию файлов проектов для разрабатываемых проектов.
[Previous: [[Qt:Документация 4.3.2/qmake-manual | qmake Manual]] ]  [ [[Qt:Документация 4.3.2/qmake-manual | Contents]] ] [Next: [[Qt:Документация 4.3.2/qmake-common-projects | qmake Common Projects]] ]  
[Previous: [[Qt:Документация 4.3.2/qmake-manual | qmake Manual]] ]  [ [[Qt:Документация 4.3.2/qmake-manual | Contents]] ] [Next: [[Qt:Документация 4.3.2/qmake-common-projects | qmake Common Projects]] ]  
{{Qt4.3.2_footer}}
{{Qt4.3.2_footer}}

Пожалуйста, обратите внимание, что все ваши добавления могут быть отредактированы или удалены другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см. Wiki.crossplatform.ru:Авторское право). НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!


Шаблоны, использованные на текущей версии страницы: