编译llbc

返回目录
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文件:
    编译llbc_第1张图片
    vs版本选择

    输入一个你本机已经安装的vs版本并Enter,这里我们输入vs2013,在输入并且后,脚本会自动打开windows文件系统浏览器:
编译llbc_第2张图片
sln及projects目录截图

选择llbc_vs2013.sln双击打开即可

  1. 选择你要的语言对应的库编译,或者所有projects一起编译:
编译llbc_第3张图片
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
:其它支持库,可不理会,在具体语言说明里面会有说明

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

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

编译llbc_第4张图片
配置管理器

!!!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)