如何将Ant与NetBeans C++;Qt应用 我使用NETBeaS C++来构建一个简单的QT应用程序。以下是我所做的: 从“文件”中,我选择了“新项目” 在“新建项目”窗口中,我选择了C/C++类别和C/C++Qt应用程序 然后我单击Next,在第二个框架上,我将我的项目重命名为“Test” 单击“完成”,成功创建了示例项目(也是唯一打开的项目,因此将其视为主项目) 从“运行”中,我选择了“构建主项目”-操作成功

如何将Ant与NetBeans C++;Qt应用 我使用NETBeaS C++来构建一个简单的QT应用程序。以下是我所做的: 从“文件”中,我选择了“新项目” 在“新建项目”窗口中,我选择了C/C++类别和C/C++Qt应用程序 然后我单击Next,在第二个框架上,我将我的项目重命名为“Test” 单击“完成”,成功创建了示例项目(也是唯一打开的项目,因此将其视为主项目) 从“运行”中,我选择了“构建主项目”-操作成功,qt,netbeans,ant,Qt,Netbeans,Ant,然后,我创建了一个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="Ma

然后,我创建了一个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>        
构建失败。查看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”并手动在ant脚本中设置${qmake}变量这一事实,还是有其他方法来解决这个问题


提前10倍

如果安装了多个版本,Qt本身会使用QTDIR检查要使用的安装。一些linux发行版没有设置此环境变量,因为在大多数情况下不需要它

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

1) 检查${QTDIR}是否存在。在本例中,qmake位于${QTDIR}/bin目录下

2) 如果${QTDIR}不存在,请尝试在${PATH}env变量指定的目录中查找qmake。例如,使用哪个命令


此方法由SCons qt4构建工具(此构建系统的非官方第三方模块)使用。我认为用ant实现这个算法应该很简单。

Qt本身使用QTDIR检查在安装了多个版本的情况下要使用哪个安装。一些linux发行版没有设置此环境变量,因为在大多数情况下不需要它

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

1) 检查${QTDIR}是否存在。在本例中,qmake位于${QTDIR}/bin目录下

2) 如果${QTDIR}不存在,请尝试在${PATH}env变量指定的目录中查找qmake。例如,使用哪个命令

此方法由SCons qt4构建工具(此构建系统的非官方第三方模块)使用。我认为用蚂蚁实现这个算法应该很简单

# 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