Chinaunix首页 | 论坛 | 博客
  • 博客访问: 634607
  • 博文数量: 116
  • 博客积分: 6078
  • 博客等级: 准将
  • 技术积分: 1214
  • 用 户 组: 普通用户
  • 注册时间: 2009-04-23 10:09
文章分类

全部博文(116)

文章存档

2016年(1)

2015年(4)

2011年(2)

2010年(21)

2009年(88)

分类: C/C++

2009-04-26 22:52:51

    做一些跨平台或者大点的应用,不光大家个人的技术能力要强,系统的设计要完善,作为编译代码管理也是非常重要的一块,现以wxWidgets在windows下应用的编译环境举例说明。
    不论是GCC的make或VC的nmake都是会对某个项目的makefile去进行检查和产生编译。当然如果不怕麻烦,可以在一个命令行里一个文件一个文件去编译。而这里则是要使用bakefile对基于wxWidgets的应用进行编译。
    首先在windows中需要包含wxWidgets的bkl文件应为%WX_WIDGETS%\build\bakefiles\wxpresets\presets\wx.bkl,所以用一个bat文件来简化相关操作。如:bake.bat
@echo off
if "%1"=="" goto ERROR
if not "%2"=="" goto ERROR

set WX_WIDGETS=wxWidgets-2.8.7
set WX_DEFINES=-IC:\works\%WX_WIDGETS%\build\bakefiles\wxpresets -DWX_DIR=C:\works\%WX_WIDGETS% -DWX_UNICODE=1

if "%1"=="release" goto RELEASE

:DEBUG
bakefile build.bkl -f msvc -o Makefile -DWX_DEBUG=1 -DWX_SHARED=1 -DBUILD=debug -DBUILDDIR=Debug %WX_DEFINES%
goto END

:RELEASE
bakefile build.bkl -f msvc -o Makefile -DWX_DEBUG=0 -DWX_SHARED=0 -DBUILD=release -DBUILDDIR=Release %WX_DEFINES%
goto END

:ERROR
echo Usage: bake [debug / release]

:END

放在和项目的bkl文件一块的地方。
然后创建build.bkl文件





   

   
        on
        off
   


   
        on
        off
   


   
        off
        speed
   


   
        max
        no
   


   
        dynamic
        static
   


   
    
        console
        server/include
        $(fileList('server/db/test/*.cpp'))
       
   



按以上的步骤,将相关设置在更改后,那么所有的项目成员都不需要因为vs中的input lib,dirs等问题困扰了。
试试bake release后,查看一下Makefile.vc的内容对不对,同时nmake就可以看到编译过程了.
   
阅读(1928) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~