我正在尝试使用 SFML 库来了解 C++ 开发。我正在学习教程(http://www.gamefromscratch.com/page/Game-From-Scratch-CPP-Edition-Part-7.aspx),并使用 Visual Studio 2010。
我一直遇到的一个关于未解决的外部问题的问题。我真的在为此苦苦挣扎,因为与我遇到的大多数错误不同,它似乎 a) 与代码没有任何关系,并且 b) 行为不一致。与其给你们一个具体的例子并寻求帮助来解决这个例子,我希望开发一种更可靠的方法来解决这些问题。不过,我会给你一个常见情况的概述。
我有一个解决方案,其中包含 8 个头文件和对应于它们的 8 个 cpp 文件。解决方案是稳定的:它编译和运行没有错误或警告。
我将进入一个头文件并添加这一行:
虚空 DoNothing();
然后我将进入匹配的 cpp 文件并编写方法:
无效 DoNothing(){};
我编译并运行,得到 5 个未解决的外部错误。它们没有指向任何代码行,所以我真的不知道如何修复它们,但我显然做错了什么。很公平。为了回到稳定状态,我删除了我插入的两行代码,然后编译。即使代码与最后一个稳定状态相同,我也会得到相同的未解决的外部错误。
尝试随机的事情,我进入另一个 cpp 文件并颠倒两个包含的头文件的顺序。游戏现在编译。如果我将包含的头文件的顺序切换回来,它就会编译。
什么是未解决的外部错误?为什么他们的行为似乎与我输入的代码不一致?我如何阅读它们以找出问题所在,以及如何首先避免它们?
谢谢你。
ps:如果我应该提供更具体的细节,请告诉我。