2010-06-28 91 views
2

我正在使用NetBeans C++構建簡單的Qt應用程序。下面是我做的:如何將Ant與NetBeans C++ Qt應用程序一起使用

  1. 從「文件」,我選擇「新建項目」
  2. 在我選擇C/C++類和C/C++的Qt應用程序
  3. 那麼「新建項目」窗口中,我點擊接下來,在第二個框架上,我將項目重命名爲'Test'
  4. 單擊'完成'並且示例項目已成功創建(也是唯一打開的項目,因此將其視爲主項目)。
  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提前

回答

0

的Qt本身使用QTDIR來檢查您是否已經安裝了好幾個版本的情況下要使用的安裝。一些linux發行版不設置這個環境變量,因爲在大多數情況下它不是必需的。

找出哪個版本的Qt使用的好方法是:

1)檢查$ {} QTDIR存在。在這種情況下,qmake位於$ {QTDIR}/bin目錄下

2)如果$ {QTDIR}不存在,請嘗試在由$ {PATH} env變量指定的目錄中查找qmake。例如使用其中的命令。

SCons qt4構建工具(此構建系統的非官方第三方模塊)使用此方法。我認爲用螞蟻實現這個算法應該很簡單。

+0

10x,希望這可能會解決我的問題。 – user360607 2010-07-15 13:34:48

相關問題