gpt4 book ai didi

c++ - 如何修复对 `b2World::b2World(b2Vec2 const&)' 的 undefined reference

转载 作者:行者123 更新时间:2023-11-28 05:33:37 24 4
gpt4 key购买 nike

主要.cpp

#include <iostream>
#include <Box2D/Box2D.h>

int main() {
int32 velocityIterations = 6;
int32 positionIterations = 2;
b2Vec2 gravity(0.0f, -10.0f);
b2World world(gravity);

std::cout << "Hello, world!" << std::endl;
}

我得到的错误:

undefined reference to `b2World::b2World(b2Vec2 const&)'

当我尝试在 CMakeLists.txt 中链接 Box2D 时:

include_directories(C:/Users/blahblah/CPPLibs)
target_link_libraries(HelloWorld Box2D)

我得到:

c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lBox2D

如何将 Box2D 正确导入到我的项目中?

最佳答案

您无法编译,因为您的链接器找不到 Box2D 源文件。您必须手动添加 .cpp 文件(这是一个糟糕的解决方案)或使用 Box2D 源代码创建静态库(例如 .../Box2D_v2.3.0/Box2D/Box2D)。生成的文件(例如 libBox2D.a)添加到您的项目中,应该可以毫无问题地进行编译。

关于c++ - 如何修复对 `b2World::b2World(b2Vec2 const&)' 的 undefined reference ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38852199/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com