如何在NetBeans C++ Qt应用程序中使用Ant

ki1q1bka  于 2022-11-10  发布在  其他
关注(0)|答案(1)|浏览(213)

我正在使用NetBeans C构建一个简单的Qt应用程序。
1.从“文件”中,我选择了“新建项目”
1.在“新建项目”窗口中,我选择了C/C
类别和C/C++ Qt应用程序
1.然后我点击Next,在第二帧我将我的项目重命名为'Test'
1.单击“完成”,示例项目已成功创建(它也是唯一打开的项目,因此被视为主项目)。
1.从“运行”中,我选择了“生成主项目”-操作成功
1.然后,我创建了一个Ant脚本,以便从控制台构建相同的项目:

<?xml version="1.0"?>
<project name="Test.linux" default="My.Test" basedir="../..">
    <description>Linux projects build</description>

    <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>        
</project>

当我运行这个脚本时,我得到一个特殊的错误:

Test.linux:
         [echo] Building my Test Linux project.

    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文件后,我在www.example.com中发现了以下行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}这一事实是否有其他方法可以解决这个问题?

xzlaal3s

xzlaal3s1#

Qt本身会使用QTDIR来检查在安装了多个版本的情况下应该使用哪个版本。一些linux发行版不会设置这个环境变量,因为在大多数情况下不需要它。
确定要使用哪个Qt版本的好方法是:
1)检查${QTDIR}是否存在。在本例中,qmake位于${QTDIR}/bin目录下
2)如果${QTDIR}不存在,请尝试在${PATH}环境变量指定的目录中查找qmake。例如,使用which命令。
SCons qt 4 build工具(这个build系统的非官方第三方模块)使用了这个方法,我觉得用蚂蚁来实现这个算法应该很简单。

相关问题