一、获取需要的git仓库
- bgfx需要3个仓库,bgfx 、 bimg 、bx。可以通过git直接clone:
git clone https://github.com/bkaradzic/bx.git
git clone https://github.com/bkaradzic/bimg.git
git clone https://github.com/bkaradzic/bgfx.git
二、编译
以ubuntu系统为例,其他系统可以参考 官方文档
1、 首先安装依赖库:
sudo apt-get install libgl1-mesa-dev x11proto-core-dev libx11-dev
2、编译
- 进入bgfx文件夹:
cd bgfx
make linux-release64
大概5分钟
可以同时编译DEBUG版,可以和release版同时存在,只是两者的文件后缀不同,DEBUG版可以提供详细调试信息
make linux-debug64
出现如下结果即编译成功:
Linking texturev
Running post-build commands
Stripping symbols.
make[1]: 离开目录“/home/user/work_space/bgfx/bgfx/.build/projects/gmake-linux”
若出现如下报错,则需要额外处理:
x$ make linux-release64
../bx/tools/bin/linux/genie --with-tools --with-combined-examples --with-shared-lib --gcc=linux-gcc gmake
../bx/tools/bin/linux/genie: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by ../bx/tools/bin/linux/genie)
../bx/tools/bin/linux/genie: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by ../bx/tools/bin/linux/genie)
make: *** [makefile:116:.build/projects/gmake-linux] 错误 1
- 错误处理:
首先查看系统是否有GLIBC:
ldd --version
若版本较低或不存在,则通过命令安装更新:
sudo apt update
sudo apt-get install glibc-source
cd /usr/src/glibc/
sudo tar -xvf glibc-[VERSION].tar.xz
若版本依然不能满足需求,不建议强行安装高版本,操作麻烦且会带来不必要的问题。
3、版本无法满足解决方法:
回退bgfx版本,选择适合当前系统的版本,俗话说适合的才是最好的,将bgfx 、 bimg 、bx 同时三个库回退至合适版本,在ubuntu 20.04 , 目前回退至2021年最后一个版本。
- 创建分支
git branch test_1.0
git checkout test_1.0
- 回退版本
git log
找到2021年版本
>commit af68e138fe2c6fe9e570b32e8202fa604b9a532c
Author: Бранимир Караџић <branimirkaradzic@gmail.com>
Date: Fri Dec 31 09:43:21 2021 -0800
Cleanup.
commit d94a6416130f14ba50cca62b15b60da2900ac3c5
Author: Бранимир Караџић <branimirkaradzic@gmail.com>
Date: Wed Dec 29 14:05:21 2021 -0800
Updated glsl-optimizer.
commit 99a7af712f9836c6f25fe65399136e707b94d1f8
Author: Бранимир Караџић <branimirkaradzic@gmail.com>
回退版本
git reset --hard af68e138fe2c6fe9e570b32e8202fa604b9a532c
!!! 三个库最好都回退,回退完成后,再次进行编译。
三、运行
- 进入/examples/runtime/
../../.build/linux64_gcc/bin/examplesDebug