将gdal源码转化为VS工程编译过程记录

本文记录了将GDAL源码转化为Visual Studio工程以便于调试的详细步骤。首先,通过makegdal_gen.bat生成VS2008工程,然后修改配置将Make工程转化为DLL工程。接着,添加头文件路径、预处理器定义和附加库,涉及众多格式的支持。作者提供了自动化处理的JS脚本,并建议根据需求选择支持的格式,避免编译不必要的第三方库。
摘要由CSDN通过智能技术生成
               

作者:朱金灿

来源:http://blog.csdn.net/clever101

 

      为什么要用VS工程的方式来编译gdal库?主要还是为了调试方便,虽然理论上使用命令行方式生成库也能调试,详见:GDAL库调试(包括跨语言调试),但是我把gdal库的pdb文件、ilk文件都拷贝到输出目录依然无法调试,使用windbg进行调试,感觉繁琐了点,还有开发组的其他成员还不会用windbg这玩意,于是开始折腾将gdal源码转化为VS工程。

 

       结果一折腾之下,发现自己仿佛掉进无穷深的坑,可能就是俗称的dll地狱吧,终于在今天折腾完。下面就详细说说这一过程:

 

       第一步:使用makegdal_gen.bat生成一个VS2008工程makegdal90.vcproj,makegdal_gen.bat的具体用法见参考文献一,这里不作详述。可能有读者认为这样生成不是VS工程吗?实际上这并不是我想要可以调试的dll工程,而是一个Make工程,这个Make工程实际上调用的还是nmake的命令行,具体看下图:


        第二步就是要把make工程转化为dll工程,转化的过程很简单,用记事本将makegdal90.vcproj打开,找到Configurations节点,具体如下:

 <Configurations>  <Configuration   Name="Debug|Win32"   OutputDirectory="$(ConfigurationName)"   IntermediateDirectory="$(ConfigurationName)"   ConfigurationType="0"   >   <Tool    Name="VCNMakeTool"    BuildCommandLine="cd $(ProjectDir) && nmake -f makefile.vc MSVC_VER=1400 DEBUG=1"    ReBuildCommandLine="cd $(ProjectDir) && nmake -f makefile.vc MSVC_VER=1400 DEBUG=1 clean && nmake -f makefile.vc MSVC_VER=1400 DEBUG=1"    CleanCommandLine="cd $(ProjectDir) && nmake -f makefile.vc MSVC_VER=1400 DEBUG=1 clean"    Output="gdal17.dll"    PreprocessorDefinitions=""    IncludeSearchPath=""    ForcedIncludes=""    AssemblySearchPath=""    ForcedUsingAssemblies=""    CompileAsManaged=""   />  </Configuration>  <Configuration   Name="Release|Win32"   OutputDirectory="$(ConfigurationName)"   IntermediateDirectory="$(ConfigurationName)"   ConfigurationType="0"   >   <Tool    Name="VCNMakeTool"    BuildCommandLine="cd $(ProjectDir) && nmake -f makefile.vc MSVC_VER=1400 && nmake -f makefile.vc MSVC_VER=1400 install"    ReBuildCommandLine="cd $(ProjectDir) && nmake -f makefile.vc MSVC_VER=1400 clean && nmake -f makefile.vc MSVC_VER=1400 && nmake -f makefile.vc MSVC_VER=1400 install"    CleanCommandLine="cd $(ProjectDir) && nmake -f makefile.vc MSV
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值