我该如何在Code::Blocks/Mingw32(Windows)上构建Box2D?

5

标题已经表明了我的问题。我一直在尝试不同的方法来使用it技术,但每当我尝试时都会出现错误...这就是我找到的Box2D

cMake中,我按着readme.txt中的步骤进行构建,但遗憾的是,这些步骤是针对Visual C++的...

所以我想知道如何将其设置为库文件(.lib或.a),并将其用于我的项目(我的朋友给了我他的库文件,当我加载它并试图#include box2D头文件时,它们根本无法读取(我得到了一长串未定义的错误),也许是因为他的box2d是为linux/unix制作的...)。

如果有人能提供一些步骤,那就太好了。

感谢您的阅读。

1个回答

10
假设: 您已安装了cmake。 你已经把Code::Blocks/MinGW安装到C:\codeblocks中。 您已将Box2D下载并提取到C:\Box2D_v2.1.2中。
如果有任何错误,请修改路径以匹配您的设置。
开始->运行->cmd。
转到Box2D“Build”文件夹: cd C:\Box2D_v2.1.2\Box2D\Build
创建makefiles: cmake -G "MinGW Makefiles" ..
执行: mingw32-make 这将引发一些警告,但应几乎完全正常工作。然后,在接近结束时,尝试编译Testbed时会出现错误。据我所知,没有使用MinGW编译Testbed的方法(我认为必须使用Visual Studio)。幸运的是,它的.exe可以在Box2D网站上获得。
在Box2D\Build\Box2D文件夹中,现在应该有一个名为libBox2D.a的文件。将此文件复制到C:\codeblocks\mingw\lib中。
将Box2D\Box2D文件夹(其中包含Box2D.h)复制到C:\codeblocks\mingw\include中。 [因此,在此步骤之后,您应该有一个文件C:\codeblocks\mingw\include\Box2D\Box2d.h,而不是C:\codeblocks\mingw\include\Box2d.h]
就是这样。您应该能够编译和运行“Hello Box2D”示例。不要忘记链接库。
[编辑]
从您的错误看来,我猜测您的MinGW Path环境变量设置不正确。这很不寻常,因为当您安装Code::Blocks/MinGW时,它通常会自动设置。
无论如何,(这些步骤可能因您的Windows版本而略有不同):
右键单击“[我的]计算机”->属性->高级系统设置点击“环境变量”
根据您所使用的Windows系统版本,您可能会看到用户变量和系统变量,或者它们可能只是一个组(我记不清名字了)。无论如何,请创建一个名为MINGDIR的新系统环境变量,并将值设置为C:\codeblocks\mingw 或者您安装它的任何其他位置。接着,找到名为Path(或PATH)的变量并在末尾添加以下内容:C:\codeblocks\mingw\bin。在上一条目的末尾放置一个分号,不要使用空格。
还要确保C:\CMake\bin出现在名为Path的系统变量或用户变量中的末尾。如果没有,请将其追加到末尾。
我想就是这样。

嘿,这是我在使用 cmake -G "MinGW Makefiles" .. 时遇到的错误:链接。这些错误看起来与我在使用 CMake GUI 时遇到的错误类似...我认为可能某些设置不正确... - Molmasepic
太棒了!它成功了!非常感谢!现在我可以自由地使用CMake了。再次感谢。 - Molmasepic
在Eclipse CDT下,按照您的指示构建库后,我遇到了找不到头文件的问题。可能是新手的原因,但是构建过程在"Box2D/Build"中产生了另一个"Box2D"文件夹,所以我将链接器指向了"<blah>/Box2D/Build/Box2D"而不是"<blah>/Box2D/Build",这样就可以直接找到库了(当然,需要设置适当的包含路径和链接器标志)。 - Engineer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接