我正在我的 Mac 上构建一个基于 Windows 的项目。我已经修复了很多错误,但是当我去编译时,它给出了以下错误:
Undefined symbols for architecture x86_64:
"Timer::reset()", referenced from:
Timer::Timer() in main.o
"Log::Log()", referenced from:
__static_initialization_and_destruction_0(int, int)in main.o
"Log::~Log()", referenced from:
___tcf_1 in main.o
"Render::initSDL(int, int, int)", referenced from:
init() in main.o
"Log::writeError(char*, ...)", referenced from:
init() in main.o
_SDL_main in main.o
"EntityManager::init(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, int)", referenced from:
init() in main.o
"EntityManager::loadAssets()", referenced from:
init() in main.o
"Level::getBlockCount()", referenced from:
EntityManager::getBlockCount() in main.o
"Level::getBombCount()", referenced from:
EntityManager::getBombCount() in main.o
"Level::getItemCount()", referenced from:
EntityManager::getItemCount() in main.o
"Render::renderElement(int, int, SDL_Surface*, SDL_Rect*)", referenced from:
renderScene() in main.o
"EntityManager::getElement(int, ElementType)", referenced from:
renderScene() in main.o
"Render::finishRender()", referenced from:
renderScene() in main.o
"EntityManager::update()", referenced from:
_SDL_main in main.o
"EntityManager::interpolate(double)", referenced from:
_SDL_main in main.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
我很好奇为什么它只引用了几个函数?这些功能是否包含非 Mac 兼容的内容?
例如:
int Level::getItemCount()
{
return itemVec.size();
}
itemVec 是一个向量,只是为了清楚。
谢谢