mingw编译OrzNet

mingw编译OrzNet

(金庆的专栏)

按照熊小磊(Nous)的OrzNet文档(0.5版), 即OrzNet_0_5.pdf, 编译OrzNet.
文档是以linux和vc环境为例的, 我的环境是mingw. 出现错误时需要稍加更改.

* boost编译生成的为.a文件, 如libboost_date_time-mgw45-mt-1_47.a.
* all_dependencies目录建在OrzNetSDK目录下, 而不是根目录Orz_0_5下,
因为根目录下没有CMakeLists.txt.
* all_dependencies/vc目录改为all_dependencies/mgw45,因为编译环境不是vc.
* all_dependencies/mgw45/lib/下的子目录Debug/和Release/应该没用,
将Release/下的*.a文件全部移到上级lib/目录下.

* OrzNetSDK/CMakeLists.txt主文件更改:
添加:
set (Compiler mgw45)
add_definitions(-DBOOST_THREAD_USE_LIB)

BOOST_LIB_POSTFIX更改:
IF( 1 )
SET(BOOST_LIB_POSTFIX -${Compiler}-mt-1_47 ...
ENDIF(1)

* OrzNetSDK\CMake\FindOrzNetDependenciesLibrary.cmake添加:
SET (Compiler mgw45)

* 各个子目录的CMakeLists.txt中的TARGET_LINK_LIBRARIES()更改:
去除 IF( UNIX ) 条件, 添加ws2_32, wsock32库, 去除dl库.

IF( 1 )
TARGET_LINK_LIBRARIES(${LIB_NAME}
boost_system${BOOST_LIB_POSTFIX}
...
ws2_32
wsock32
# dl
)
ENDIF(1)

* OrzNetSDK\orz\OrzNetBase\GlobalPlus.h文件:
51行: #if ORZ_PLUS_COMPILER == ORZ_PLUS_COMPILER_MSVC
改为: #if 1
因为需要定义bswap16().

* 各个Demo文件中, 去除:
// _CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值