编译PROJ4
来源:互联网 发布:怎么查看数据库ip地址 编辑:程序博客网 时间:2024/04/28 21:51
一、编译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");
}
- 编译PROJ4
- proj4.8编译
- PROJ4 编译指南
- proj4库的编译方法
- 编译GEOS和PROJ4库
- proj4的windows下编译
- proj4库的编译与简单使用
- proj4库编译及相关问题解决
- PROJ4编译与使用(Windows平台)
- PROJ4编译与使用(Windows平台)
- GDAL+GEOS+PROJ4+HDF4+HDF5的编译安装
- GDAL+GEOS+PROJ4+HDF4+HDF5的编译安装
- GIS PROJ4
- proj4 笔记
- GDAL源码剖析(八)之编译GEOS和PROJ4库
- 常用三方库的跨iOS平台编译(freeimage、gdal、geos、proj4、freetype、cximage)
- proj4简介和简单用法
- proj4投影库的使用与安装
- 用C语言实现对冗余层发送的数据包进行过滤判断处理
- js实现继承的5种方式
- Scala教程(十九)Scala界面GUI编程
- Android处理服务器返回的图片数据
- CodeForces 401A Vanya and Cards
- 编译PROJ4
- Quick-Cocos2d-x 如何入门
- IOS 音频,视频,照相,摄影
- Linux 设置服务器开机启动
- 7种形式的Android Dialog使用举例
- Eclipse中安装Lua Eclipse插件
- 笔记关于自制简单的操作系统 第一弹
- Ehcache 整合Spring 使用页面、对象缓存
- C#后台代码调用前台javascript的几种方法小结