编译llbc

作者: blueuee | 来源:发表于2017-08-20 19:51 被阅读0次

    返回目录
    llbc当前主要支持的平台为windowslinuxmacosx,框架中的编译系统使用premake工具编写。

    Windows编译:

    1. clone llbc 库: git clone https://github.com/lailongwei/llbc.git
    2. 初始化所有sub modules: git submodule update --init --recursive
    3. 生成sln文件:进入库目录,并双击WinPreBuild.bat,会显示如下选择界面,提示你选择一个合适的visual studio版本,生成对应的sln文件:
      vs版本选择
      输入一个你本机已经安装的vs版本并Enter,这里我们输入vs2013,在输入并且<Enter>后,脚本会自动打开windows文件系统浏览器:
    sln及projects目录截图

    选择llbc_vs2013.sln双击打开即可

    1. 选择你要的语言对应的库编译,或者所有projects一起编译:
    projects列表

    llbc: c++ 核心库,如果你想用c++版本的llbc,请编译此project
    pyllbc: python语言版本的llbc,如果你想用python版本的llbc,请编译此project
    csllbc:c#语言版本的llbc,如果你想用c#版本的llbc,请编译此project(支持mono)
    lullbc:lua语言版本的llbc,如果你想用lua版本的llbc,请编译此project(当前Lua版本只提供部分功能支持,如Log)
    testsuite:c++核心库测试套件,如果想看llbc的一些用例,可以看此项目中对应组件的testcase
    <others>:其它支持库,可不理会,在具体语言说明里面会有说明

    1. 在output/vs2013/release32中提取编译出来的lib文件

    Tips: 32位、64位及debug,release说明:
    llbc支持32位及64位的版本编译,同时也支持debug/release版本的编译,默认生成的项目配置为release 32配置,即编译出来的libs为32位的release版本,如果需要修改请在配置管理器里面修改即可(vs有一个问题是选择了解决方案配置后,还需要选择对应的解决方案平台,请确保你的解决方案配置选择跟平台是对应的)

    配置管理器

    !!!windows问题集!!!

    python包装库在使用时,提示无法import:这个问题原因是llbc在链接是是动态链接msvc库的,所以会出现此问题,可以将msvcr1x0.dllmsvcp1x0.dllcopy到你的python根目录即可,这里需要注意你的python是32位还是64位,不要copy错msvc库,使用objdump工具可以查看dll是32位还是64位。如果你嫌麻烦,可以安装对应版本的vs运行时库;

    llbc在python中提示导入错误
    llbc相关project编译时提示所有包含头文件无法找到:这个问题是你的解决方案选择跟平台不对应,如选择了debug32但平台选择的却是x64,这个配置根本没有任何实际的配置存在,所以纠正平台选择或者解决方案选择就行;

    Linux/Mac编译:

    linux/mac编译比较简单,在clone了llbc项目及init了submodules后,直接make你要的语言库即可,如我要c++核心库:make core_lib,下面贴出对应语言对应的make arguments:

    core_lib:c++核心库
    py_wrap:python包装库
    cs_wrap:c#包装库
    lu_wrap:lua包装库
    test:编译核心库测试套件testsuite
    ...:更多指令说明请直接make help

    在编译出来后,同样在output/gmake/release64中提取lib文件即可,或者你也可以make install完成安装(请先看make help帮助)。

    Tips: 32位、64位及debug,release说明:
    在mac及linux下默认的编译设置为release64,即release 64位版本,如果要指定编译设定,请在make的时候,传config参数,如我要编译一个llbc c++核心库的debug64版本,使用make config=debug64 core_lib即可编译,以下为config可以的值:

    config=debug64:debug 64位版本库
    config=release64:release 64位版本库
    config=debug32:debug 32位版本库
    config=release32:release 32位版本库

    相关文章

      网友评论

        本文标题:编译llbc

        本文链接:https://www.haomeiwen.com/subject/wkvarxtx.html