金庆的专栏

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  423 随笔 :: 0 文章 :: 454 评论 :: 0 Trackbacks
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);
posted on 2011-08-17 11:43 金庆 阅读(1014) 评论(1)  编辑 收藏 引用 所属分类: 1. C/C++2. 网游开发

评论

# re: mingw编译OrzNet 2014-03-23 11:03 刘威
能发送一个mingw编译好的OrzNet库给我吗? liuweiqcxy@163.com
谢谢!  回复  更多评论
  


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理