用cpptask for ant 构建C++程序

1.  ant工具安装配置

下载JDK包到本地,进行默认安装(我用的是jdk1.6.0_18)

http://ant.apache.org下载ant安装包,解压到本地目录。(我用的是apache-ant-1.8.1)

在windows,进行环境变量设置:

 ANT_HOME  F:\tools\apache-ant-1.8.1

JAVA_HOME F:\Java\jdk1.6.0_18

PATH      增加 :\Java\jdk1.6.0_18\bin;F:\tools\apache-ant-1.8.1\bin

 

2. cpptask for ant 安装配置

(1)从http://sourceforge.net/projects/ant-contrib/files/下载ant-contrib-1.0b3-bin.zip和cpptasks-1.0b5.zip  ,因为cpptask下载的是源码包,需要做些工作编译才能生成的cpptask.jar

步骤如下:

step1 将cpptasks-1.0b5.zip解压到本地如F:\tools\cpptasks-1.0b5,并在该目录下建立mylib子目录 

step2 下载Xerces-J-bin.2.5.0.zip并解压,将里面的xercesImpl.jar等4个jar文件拷贝到F:\tools\cpptasks-1.0b5\mylib目录下;

step3 打开F:\tools\cpptasks-1.0b5下的build.xml文件,进行修改

<!-- rabbit add  Xerces-J Lib -->
  <path id="Xerces-J Lib">
   <fileset dir="mylib">
       <include name="**/*.jar"/>
    </fileset>    
 </path>

......

<target name="build"
          depends="prepare"
          description="--> compiles the source code">
    <mkdir dir="${build.classes}"/>
    <javac srcdir="${java.dir}"
           destdir="${build.classes}"
           debug="${debug}"
           target="${javac.target}"
           source="${javac.source}"
           deprecation="${deprecation}"
           optimize="${optimize}" >
           <classpath refid="Xerces-J Lib"/>   <!-- rabbit add -->
    </javac>
  </target>

 在cmd窗口,转到F:\tools\cpptasks-1.0b5目录,输入ant 即可在\target\lib看到生成的cpptasks.jar

step4 将cpptask.jar 和ant-contrib-1.0b3.jar拷贝到ant安装目录\lib下;

 

3、cl环境变量设置见上一篇文章

4、cpptask for ant 编译C++程序示例

Hello.cpp (用记事本写即可)

#include <iostream>
using namespace std;

int main(int argc, char* argv[])
{
cout << "hello, world for C++ Test!" << endl;

system("pause");

return 0;
}

 

build.xml

<project name="ant cpp Test" default="compile" basedir="."  xmlns:cpptasks="antlib:net.sf.antcontrib.cpptasks">
 <taskdef resource="cpptasks.tasks"/>
  <typedef resource="cpptasks.types"/>
   <taskdef resource="net/sf/antcontrib/antcontrib.properties"/>

 
  <property name="src.dir" value="${basedir}/src"/>
  <property name="obj.dir" value="${basedir}/obj"/>
  <property name="bin.dir" value="${basedir}/bin"/>
  <property environment="getenv"/>

 
  <compiler id="cc">
    <defineset define="_POSIX_SOURCE"/>
  </compiler> 
  <compiler name="msvc" id="msvc-compiler" extends="cc">
    <compilerarg value="/Za"/>
    <compilerarg value="/G5"/>
  </compiler>
  <linker name="msvc" id="msvc-linker">
    <linkerarg value="/libpath:${getenv.MSDEVDIR}\lib"/> 
  </linker>

   
    <target name="clean">
   <delete dir="${obj.dir}" />       
    </target>
 
    <target name="init">
       <mkdir dir="${src.dir}"/>
       <mkdir dir="${obj.dir}"/>      
       <condition property="cc" value="msvc">
       <os family="windows"/>
       </condition>
    </target>
   
    
    <target name="compile" depends="clean,init">     
     <cpptasks:cc outtype="executable" subsystem="console" outfile="${bin.dir}/HelloCPP" objdir="${obj.dir}">
       <cpptasks:compiler refid="${cc}-compiler"/>
       <cpptasks:linker refid="${cc}-linker"/>
        <fileset dir="${src.dir}" includes="*.cpp"/>   <!--rabbit:若是c文件,此处改为*.c即可-->
     </cpptasks:cc>    
    </target>
</project>

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值