NSPR在Windows上编译及使用

工作上需要做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操作系统是多少位。

使用

1、在上面提到“新建一个目录用来编译、链接”,等链接完成之后会发现目录下多了一个“disk”的新目录,下面又包含bin、include、lib三个子目录,这就是开发和运行所需要的文件。在lib目录下_s结尾的是静态lib。
2、使用时,先包含头文件和.lib,运行时拷贝dll。(我目前还不知道这三个dll的关系:(,后面我搞清楚了会写在博客里的 )。

补充

我在使用MozillaBuild开发包之前,尝试使用过mingw、cygmin,最终都失败了!当然现在明白了mingw、msys的联系,参见 这里


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值