写在开始之前
使用源码,静态库,或动态库?
RakNet包含了源码,使用随包携带的工程文件也可以生成DLL和静态的lib,还有可以直接编译的例子。RakNet下载包中并没有预编译的DLLs或静态库——这主要是由于编译器之间的不兼容性。我们推荐直接使用源码,当然了,你也可以使用DLL或静态库工程生成你自己的DLL或静态库文件。
用于编译DLL/静态lib的工程,以及例子工程仅仅提供了微软的.Net2003和2005。其他的用户需要建立自己的工程。
DLL用户
生成DLL
1. 生成DLL工程。假设你知道如何实现。在MSVC7中,生成一个空工程,然后在Application Settings选择DLL和空工程。
2. 将/Source目录下的源文件加入到工程中
3. 将源码文件的目录加入到“Additional Include Directories”。
4. 导入ws2_32.lib,或wsock32.lib 。在MSVC 7中可以右击工程名称,选择Configuration properties/linker/input/additional dependencies ,在其中输入”ws2_32.lib”。
5. 将工程设置为使用多线程运行时库(Multi-threaded runtime libraries)。在MSVC 7中可以右击工程名称,选择Configuration properties/c/c++/Code Generation/Runtime Library,将它修改为Multi-threaded(/MT)。
6. 在VS工程Properties->Configuration Properties -> C/C++ -> PreProcessor -> PreProcessor Definitions 中加入_RAKNET_DLL
7. 将字符集设置为“not set”。在VS工程Properties-> Configuration Properties -> General ->Character Set一项。
8. 可以设置预处理项目。参考Preprocessor directives。
9. 点击F7或Build构件DLL或lib
在VS2003中创建一个空的DLL工程
在.net 2003中设置多线程调试
包含ws2_32.lib到.net 2003
游戏设置
1. 将DLL拷贝到创建的游戏工程目录下.exe文件所在目录下。Lib可以放到其他任何目录。
2. 在工程中加入.lib
3. 从/Source文件目录中加入头文件
如果想要进入代码学习,参考Basic code tutorial
获得更多的详细内容,参考Detailed implementation
使用源码
游戏设置
1. 将/Source下的源文件加入到工程。然而这些不是严格必须要的,有些不使用也没有影象
2. 导入ws2_32.lib ,如果系统没有安装Winsock2导入wsock32.lib。在MSVC7中右击工程选择configuration properties/ linker / linker/ input/ additional dependencies,然后在此处输入”ws2_32.lib”。
3. 将工程设置为多线程运行时库。在MSVC 7中可以右击工程名称,选择Configuration properties/c/c++/Code Generation/Runtime Library,将它修改为Multi-threaded(/MT)。
4. 设置额外的包含目录,将RakNet的源文件目录包含进来。(如果你将源文件拷贝到了不同的目录)
5. 可选设置参考Preprocessor directives
在.net 2003中设置多线程调试
在.net 2003中将ws2_32.lib包含进来
第三方依赖
工程不会默认编译
如果缺乏了第三方的插件的支持,有些工程无法编译成功。并不是要求你使用RakNet的所有功能,但是没有他们,会有一些特定的功能或例子无法使用。
3rd party dependencies page
说明:鉴于很多人使用的还是Windows的系统,下一节的Mac OS上的配置不做说明。帮助文档的图片也打不开,资料不全。因此暂时不做学习,也就么有相应的翻译或笔记。
By 北洋小郭