gpt4 book ai didi

c++ - 每次更改代码后都无法解析外部符号

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:34:38 24 4
gpt4 key购买 nike

我的代码有问题。它基本上看起来像这样:

一些类.hpp:

class SomeClass
{
public:
SomeClass();
~SomeClass();

//... some other methods
};

一些类.cpp:

#include "SomeClass.hpp"
SomeClass::SomeClass()
{
}

SomeClass::~SomeClass()
{
}

SomeClass.cpp 不包含任何其他内容。

构造函数实际上也是空的。我只是不想让它们未定义或留下标准构造函数,因为我以后可能会需要它。

SomeClass.hpp 实际上是一个 gamestate 类,它只包含在一个地方:

主要.cpp

#include "SomeClass.hpp"

int main()
{
DoSomethingWithGamestate(new SomeClass());
return 0;
}

然后该项目由许多其他文件组成,但所有这些文件都独立于 SomeClass。

问题是每当我更改代码中的任何内容时,无论在哪个文件中,我都必须重新编译整个解决方案,因为如果我只编译更改,链接器会抛出此错误:

error LNK2001: unresolved external symbol "public: __thiscall SomeClass::SomeClass(void) (??blablaSomeClassblabla)

显然,这里发生了一些奇怪的事情,因为在 someclass.cpp 中明确定义了 SomeClass()。

这可能是什么来源?

最佳答案

除了@Nawaz 所说的之外,您的构建文件可能与链接器不同步,因此当 Visual Studio 重新链接时,它不能,因为文件不同步。只需重新构建并完成它。

顺便说一下,它甚至可能是 Visual Studio 2010 中的一个错误 as seen here .

关于c++ - 每次更改代码后都无法解析外部符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6889565/

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