gpt4 book ai didi

C++ Unresolved external

转载 作者:行者123 更新时间:2023-11-28 07:07:42 27 4
gpt4 key购买 nike

我正在写一个游戏,但我遇到了一个问题,导致“C++ Unresolved external 问题”

** 我的类(class):**

Terrain.h

Class Terrain
{};

物理对象.h

Class PhysicsObject
{};

Physics.h

#include PhysicsObject
Class Physics : public PhysicsObject
{
public:
Physics();
void add(PhysicsObject* o);
void remove(PhysicsObject* o);
};

RenderObject.h

Class RenderObject
{};

Render.h

#include RenderObject.h
Class Render: public RenderObject
{
public:
Render();
void add(RenderObject* o);
void remove(RenderObject* o);
};

像素.h

#include "PhysicsObject.h"
#include "RenderObject.h"

class pixel : public RenderObject, public PhysicsObject
{};

main.cpp

 #include "Physics.h"
#include "Render.h"
#include "Terrain.h"
#include "Pixel.h"

void main()
{
Physics* physics
Render* render
Terrain* terrain

Pixel* pixel1 = new Pixel()

renderer->add(pixel1);
physics->add(pixel1);
}

我的 main 中有一个方法可以创建像素并将它们存储在渲染和物理中的 vector 中。我的问题是我需要访问像素内部的物理、地形和渲染,以便我的像素可以自行处理它们的碰撞和破坏,并将它们自己从渲染和物理 vector 中移除。

关于如何实现这一点的任何想法,因为当我将指针传递给 Pixel 类时,当我尝试这样做时,我得到了 C++ 未解析的外部信息。可能某些类在编译器创建之前被调用,但我不知道如何解决这个问题。

最佳答案

“Unresolved externals”是一个LINK TIME 错误。通常,您所要做的就是确保在构建 .exe 之前已编译所有源代码并包含所有库。

例如,如果您使用的是 MSVC++,请确保您的项目包含 terrain.cpp、PhysicsObject.cpp 等。这同样适用于您用于构建项目的任何其他 IDE 或 Makefile。

关于C++ Unresolved external ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21517649/

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