仅在编辑另一个类后编译更改

Compile changes only after editing another class

本文关键字:编译 编辑 另一个      更新时间:2023-10-16

所以我有这个奇怪的问题 -IM 使用 SFML 和 C++ 并且我想编辑游戏屏幕(我创建了一个由游戏的不同级别和屏幕派生的屏幕类),但奇怪的是,当我更改类中的内容时(例如,如果 IM 尝试更改精灵的像素移动速率)并且比我编译和运行程序时,我看到绝对没有变化, 但是如果我之后更改另一个类(哪个类无关紧要,任何类都可以工作),那么我创建的游戏屏幕中的更改...我真的不知道这里有什么问题,所以我寻求你的帮助

顺便说一下,如果它很重要,则有类(没有标题,只有.cpp)

#include "Screen.hpp"
#include "Sprite.hpp"
#include <iostream>
using namespace sf;
class GameScreen : public rce::Screen
{
private:
    rce::Sprite s;
public:
    GameScreen() : Screen()
    {
    }
    void Load()
    {
        s.SetImage("circle.png");
    }
    void Unload()
    {
    }
    void Update()
    {
        s.SetX(s.GetX()+1);
    }
    void Draw()
    {
        s.Draw();
    }
};
如果您使用 C/C++

处理多个文件,C/C++ 的编译器会编译每个 *.c 或 *cpp 文件,并使其成为 *.o 或 *obj 文件,在某些编译器中使用 *.o.o。然后链接器将它们链接在一起。重新编译特殊文件时,应编译其依赖项。