未解析的外部符号,即使我认为我正确链接(MSVC)
unresolved external symbol even though i think i am linking correctly (MSVC)
我有一个使用SDL作为外部库的项目。该项目使用了_SDL_WM_SetCaption、_SDL_FillRect或_SDL_MapRGBA等函数。我已经告诉链接器包括这两个库SDL。lib和SDLmain。Lib并告诉它查找这些库所在的文件夹。我还用dumpbin.exe检查了库文件,函数在那里。然而,它仍然不工作编译/链接?为什么?有人有什么想法吗?
以下是链接器/编译器错误的输出示例:
14>libtestd.lib(sdlgl.obj) : error LNK2019: unresolved external symbol _SDL_WM_SetCaption referenced in function "public: void __thiscall SDLGLEngine::SetTitle(char *)" (?SetTitle@SDLGLEngine@@QAEXPAD@Z)
14>libtestd.lib(sdlgl.obj) : error LNK2019: unresolved external symbol _SDL_FillRect referenced in function "public: bool __thiscall SDLGLEngine::Init(int,int,int,bool)" (?Init@SDLGLEngine@@QAE_NHHH_N@Z)
14>libtestd.lib(sdlgl.obj) : error LNK2019: unresolved external symbol _SDL_MapRGBA referenced in function "public: bool __thiscall SDLGLEngine::Init(int,int,int,bool)" (?Init@SDLGLEngine@@QAE_NHHH_N@Z)
14>libtestd.lib(sdlgl.obj) : error LNK2019: unresolved external symbol _SDL_SetVideoMode referenced in function "public: bool __thiscall SDLGLEngine::Init(int,int,int,bool)" (?Init@SDLGLEngine@@QAE_NHHH_N@Z)
14>libtestd.lib(sdlgl.obj) : error LNK2019: unresolved external symbol _SDL_GL_SetAttribute referenced in function "public: bool __thiscall SDLGLEngine::Init(int,int,int,bool)" (?Init@SDLGLEngine@@QAE_NHHH_N@Z)
14>libtestd.lib(sdlgl.obj) : error LNK2019: unresolved external symbol _SDL_Quit referenced in function "public: bool __thiscall SDLGLEngine::Init(int,int,int,bool)" (?Init@SDLGLEngine@@QAE_NHHH_N@Z)
14>libtestd.lib(sdlgl.obj) : error LNK2019: unresolved external symbol _SDL_Init referenced in function "public: bool __thiscall SDLGLEngine::Init(int,int,int,bool)" (?Init@SDLGLEngine@@QAE_NHHH_N@Z)
可能原因
- sdl
- 。自由和自由。lib设置未添加到依赖列表
- 它们的位置没有被添加到链接器查找的目录列表中
- 你有不匹配的32和64位版本的库。
相关文章:
- 我似乎无法让 msvc 链接器在 vscode 上正常工作
- MSVC 编译器/链接器何时合成标量/矢量删除析构函数
- Godbolt 在 MSVC 上包含 Windows.h 时无法链接?
- 静态链接MSVC库,动态链接Qt
- 使用 python3 为 msvc 构建 boost python - 链接器错误
- 使用 msvc /MDd cryptlib.lib 构建 Crypto++ 链接时找不到 cryptopp.lib
- 当将QT创建者与CMAKE一起使用时,为什么我不必手动链接MSVC库
- 链接错误时,使用CLION/CMAKE/MSVC 2015编译WIN32应用程序
- 在包含新CPP文件后的链接过程中,MSVC 错误
- 无法在 QT Creator/MSVC 中与 libtiff 链接
- 如何强制MSVC链接一个未使用的静态库(相当于GC——整个归档参数)
- 如何阅读MSVC C++链接错误
- 使用Windows函数SendMessage会导致与MSVC发生链接错误,但与MinGW不发生链接错误
- 在C++解决方案中重用基类时,MSVC链接器错误LNK2019
- 在窗口上使用 clang 链接 msvc 内部函数时出现问题
- 如何在 MSVC 中静态链接库
- 使用 MSVC 在 Win32 上构建 QtWebKit 时出错的链接器
- MSVC 是否错误地处理了类范围的静态与整数常量初始值设定项的链接
- 如何链接ENet和MSVC
- 未解析的外部符号,即使我认为我正确链接(MSVC)