编译PROJ4
一、编译PROJ4 PROJ4的最新版本是4.8,官网地址为:http://trac.osgeo.org/proj/。从官网下载PROJ4的源代码,解压到文件夹中,如F:\Work\3rdPart\proj-4.8.0。1、正常编译RELEASE版本 打开VS2008的命令行工具,然后将其工作目录切换到F:\Work\3rdPart\proj-4.
一、编译PROJ4
PROJ4的最新版本是4.8,官网地址为:http://trac.osgeo.org/proj/。从官网下载PROJ4的源代码,解压到文件夹中,如F:\Work\3rdPart\proj-4.8.0。
1、正常编译RELEASE版本
打开VS2008的命令行工具,然后将其工作目录切换到F:\Work\3rdPart\proj-4.8.0,如下图所示:
如果不进行输出目录设置的话,就直接在命令行中依次输入下面的命令回车即可:
nmake /f makefile.vc install-all
等待编译完成后,会默认值C盘的根目录下,创建PROJ文件夹,里面有四个文件夹,分别是bin,lib,include以及share四个文件夹,其中include和lib是用来做二次开发使用,bin存放的是dll和exe文件,share里面存储的是PROJ4所定义的一些投影文件等,在发布程序的时候,share文件夹需要一同进行发布,否则在做投影转换的时候可能因为找不到其中的文件而导致转换失败。
2、编译DEBUG版本
在有的时候需要调试PROJ4的源代码,那么需要编译DEBUG版本,编译DEBUG版本和RELEASE版本一样,只不过在是最后输入命令的时候,在后面加上DEBUG=1即可,完整命令如下:
nmake /f makefile.vc clean
nmake /f makefile.vc install-all DEBUG=1
等编译结束后,将src目录下的pdb等调试文件拷贝到你自己的工程输出目录中即可。nmake /f makefile.vc clean,这句的目的是为了清理之前编译生成的临时文件,如果之前没有编译过,可以不用。
3、编译X64版本
有时候需要在64位系统上运行,为了高效,需要编译X64的版本,编译X64的版本和上面的基本一样,只不过是在打开VS2008的命令行的时候,要使用X64兼容工具命令提示(vs2013也是用X64兼容工具命令提示),如下图所示:
4、vs2013调用
将生成的文件中include和lib库分别包含到工程文件中,并在链接->输入中添加proj.lib和proj_i.lib,并且把bin下的dll文件拷到工程目录下面
5、测试
#include <proj_api.h>
#include <iostream>
int main(int argc, char **argv)
{
projPJ pj_merc, pj_latlong;
double x, y;
if (!(pj_merc = pj_init_plus("+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs")))
exit(1);
if (!(pj_latlong = pj_init_plus("+proj=longlat +datum=WGS84 +no_defs")))
exit(1);
x = -9.866554;
y = 7.454779;
x *= DEG_TO_RAD;
y *= DEG_TO_RAD;
pj_transform(pj_latlong, pj_merc, 1, 1, &x, &y, NULL);
std::cout.precision(12);
std::cout << "(" << x << " , " << y << ")" << std::endl;
//exit(0);
system("pause");
}
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)