NSPR在Windows上编译及使用
来源:互联网 发布:php 框架 编辑:程序博客网 时间:2024/04/27 17:03
工作上需要做windows和linux的C++跨平台,虽说C++在两个系统下是完美支持的但之间还是有点区别,特别是如果要使用到系统资源的时候更是,这时那就不可避免的开始一大堆宏定义,这个我肯定写不好而且浪费时间!于是想找一个平台抽象库,屏蔽两个操作系统之间的差异,当然只是包含最基本的如文件、内存、线程、网络等等。最开始的时候也考虑到用boost、qt之类的但考虑到有点大而且公司不一定愿意添加这个进去,多半会增加完全不必要的工作量,然后也搜索到其他一些简单的跨平台库,但都很专一仅仅是涉及到一个方面,也不能保证稳定性。所以最终朋友介绍NSPR给我!
Netscape Portable Runtime (NSPR) 提供一套面向系统级的与平台无关的 API 和类似于libc的函数. 这些API被用在Mozilla客户端, Red Hat公司、Sun公司的服务应用程序以及其他公司的一些软件中。
编译
On Windows, the NSPR build system needs GNU make and a Unix command-line utility suite such as MKS Toolkit, Cygwin, and MSYS. The easiest way to get these tools is to install the MozillaBuild package.在windows上编译NSPR需要GNU和Unix环境套件如MKS、Cygwin、MSYS。不过最好的方式是下载MozillaBuild开发包(下载地址,详细的开发包说明点这里:)。
NSPR工程下载地址:https://ftp.mozilla.org/pub/mozilla.org/nspr/,包含说明文档和源码。
1、解压NSPR到某目录(建议根目录下),安装MozillaBuild开发包;
2、打开MozillaBuild开发包安装目录,发现里面有很多start-msvcXX.bat(XX代表VS编译器的版本号,注意VS是32 or 64位!),然后用cd切换到NSPR的解压目录;
3、新建一个目录用来编译、链接,具体方式可参考官方的指导
# check out the source tree from CVS cvs -q -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -r NSPR_4_8_RTM mozilla/nsprpub # create a build directory mkdir target.debug cd target.debug # run the configure script ../mozilla/nsprpub/configure [optional configure options] # build the libraries gmake # build the test programs cd pr/tests gmake说明:#号后是注释,cvs这条指令是下载(由于已经下载可以跳过),其他的应该能看懂吧?下面说说configure几个重要选项
1、--disable-debug --enable-optimize:Specify these two options to generate an optimized (release) build.These two options can actually be used independently, but it's not recommended. configure默认是生成debug的,如果需要release则需要加上这两个选项。
2、更多的选项说明看这里:https://developer.mozilla.org/en-US/docs/NSPR_build_instructions。
3、需要说明的是,上述链接里提到的32、64位环境是指vs是32 or 64,不是指windows操作系统是多少位。
使用
2、使用时,先包含头文件和.lib,运行时拷贝dll。(我目前还不知道这三个dll的关系:(,后面我搞清楚了会写在博客里的 )。
补充
1、NSPR
2、NSPR build instructions
3、/pub/mozilla.org/nspr
4、Windows build prerequisites
5、MinGW + MSYS 配置 Windows 下的编译终端
- NSPR在Windows上编译及使用
- openssl在windows编译及使用
- jsoncpp在WINDOWS 上的编译及应用
- 使用mingw和msys在windows上编译bdb
- 在Windows上使用VC编译并安装ACE
- 在 Windows 上编译(安装)和使用 libcurl
- 在 Windows 上安装和使用 GNUstep编译Objective-C
- windows编译的库无法在其他机器上使用
- CLAPACK在Windows上的编译、安装与使用
- 在windows上编译openssl供Android NDK使用
- 在Windows上使用CMake编译64位dll
- 在Windows平台上使用GCC编译C程序
- 在windows平台上使用mingw编译PYQT5
- 在Windows上编译jabberd2
- 在windows上编译scite
- 在windows上编译scite
- ffmpeg在windows上编译
- 在Windows上编译mono
- 试探算法
- Maya: 菜单 曲面 >边界
- 关于rsync同步命令的使用
- calculate the distance of two string
- Milking cows
- NSPR在Windows上编译及使用
- Maya: 菜单 曲面 >方形
- 海思SDK编译实践 -- hi3716cv200es1
- Java经典算法四十例编程详解+程序实例
- Tomcat服务器详解
- matlab矩阵操作常用函数
- 10905 - Children's Game
- Android异步下载网络图片(其二)
- Mysql Ubuntu 安装