系统相关
首页 > 系统相关> > c-无法在Linux上构建Box2D:链接器错误

c-无法在Linux上构建Box2D:链接器错误

作者:互联网

我正在尝试在Ubuntu(13.10)计算机上构建Box2d v2.3.1.这就是我在做什么:

$premake4 gmake
$cd Build/gmake/
$make

但是测试平台无法正确构建.我收到许多关于glfw和glew符号的未定义参考错误,如下所示:

obj/Debug/Testbed/Main.o: In function `main':
/home/mostafa/.adobe/box2d-2.3.1/Box2D/Build/gmake/../../Testbed/Framework/Main.cpp:458: undefined reference to `glfwCreateWindow'

我已经安装了glfw和glew的开发包.我还检查了Testbed.make makefile,由于没有看到对glfw的引用,因此将-lglfw添加到了定义LIBS变量的两个位置.但是我仍然遇到同样的错误.

解决方法:

经过大量搜索和调整,我终于解决了这个问题.这是我所做的:

>确保您具有最新版本的预制件.我必须安装premake 4.4(测试版).
>从源代码编译并安装最新版本的glfw(当前为3.0.4). Ubuntu存储库中的版本不起作用.
>确保您拥有glew和xorg开发包.我从Ubuntu的存储库安装了这些文件:sudo apt-get install libglew-dev xorg-dev
>在Box2D目录中运行premake4 gmake之后,转到Build / gmake并编辑Testbed.make.将行LIBS = $(LDDEPS)-lX11 -lGL -lGLU -lglut更改为该LIBS = $(LDDEPS)-lX11 -lGL -lGLU -lglut -lGLEW -lglfw3 -lX11 -lXxf86vm -lpthread -lXrandr -lXi.
>现在运行make.

标签:linker,build,box2d,linux,c-4
来源: https://codeday.me/bug/20191029/1960846.html