Как использовать Ant с приложениями NetBeans C ++ Qt - PullRequest
2 голосов
/ 28 июня 2010

Я использую NetBeans C ++ для создания простого приложения Qt.Вот что я сделал:

  1. Из «Файл» я выбрал «Новый проект»
  2. В окне «Новый проект» я выбрал категорию C / C ++ и приложение C / C ++ Qt
  3. Затем я щелкнул Next и во втором фрейме я переименовал свой проект в «Test»
  4. Нажал «Finish», и образец проекта был успешно создан (это также единственный проект, открытый, поэтомурассматривается как основной проект).
  5. В «Выполнить» я выбрал «Создать основной проект» - действие было успешным
  6. Затем я создал скрипт Ant для создания того же проекта.из консоли:

    Сборка проектов Linux

    <target name="My.Test">
        <echo>Building my Test Linux project.</echo>
    <exec executable="make" failonerror="true" dir="Test">
            <arg value="-f"/>
            <arg value="Makefile"/>
            <arg value="clobber"/>
        </exec>    
    </target>        
    

    Когда я запускаю этот скрипт, я получаю странную ошибку:

Test.linux: [echo] Сборка моего проекта Test Linux.

My.Test:
     [echo] Building my Test Linux project.
     [exec] for CONF in Debug Release ; \
     [exec]     do \
     [exec]         "make" -f nbproject/Makefile-${CONF}.mk QMAKE= SUBPROJECTS= .clean-conf; \
     [exec]     done
     [exec] make[1]: Entering directory `/home/myusr/Development/Projects/Test'
     [exec] VPATH=. -o qttmp-Debug.mk nbproject/qt-Debug.pro
     [exec] /bin/sh: -o: not found

Сборка не удалась.Посмотрев файлы make, я нашел следующие строки в Makefile-Debug.mk:

# Link Libraries and Options
LDLIBSOPTIONS=

nbproject/qt-${CND_CONF}.mk: nbproject/qt-${CND_CONF}.pro FORCE
    ${QMAKE} VPATH=. -o qttmp-${CND_CONF}.mk nbproject/qt-${CND_CONF}.pro
    mv -f qttmp-${CND_CONF}.mk nbproject/qt-${CND_CONF}.mk

Я не понимаю, почему '$ {QMAKE} VPATH =.-o qttmp - $ {CND_CONF} .mk nbproject / qt - $ {CND_CONF} .pro 'недопустимо и что на самом деле не так.

После некоторых размышлений я заметил, что NetBeans устанавливает значение $ {QMAKE}в / usr / bin / qmake, но когда я вызываю скрипт ant, он остается пустой строкой.Поэтому мой вопрос скорее состоит в том, как NetBeans знает, где найти qmake - есть ли настройка проекта или это настройка самой IDE.Стоит ли полагаться на тот факт, что путь qmake всегда является этим '/ usr / bin / qmake', и вручную устанавливать переменную $ {QMAKE} в скрипте ant, или есть другой способ решить эту проблему?

10x взаранее

1 Ответ

0 голосов
/ 01 июля 2010

Qt сам использует QTDIR, чтобы проверить, какую установку использовать в случае, если у вас установлено несколько версий. Некоторые дистрибутивы Linux не устанавливают эту переменную среды, так как в большинстве случаев она не нужна.

Хороший способ узнать, какую версию Qt использовать:

1) Проверьте, существует ли $ {QTDIR}. В этом случае qmake находится в каталоге $ {QTDIR} / bin

2) Если $ {QTDIR} не существует, попробуйте найти qmake в каталогах, указанных в переменной env $ {PATH}. Например, используя команду which .

Этот метод используется инструментом сборки SCons qt4 (неофициальный сторонний модуль для этой системы сборки). Я думаю, что это должно быть просто реализовать этот алгоритм с помощью муравья.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...