SDL加载项库未正确链接
SDL Addon Libraries not Linking Correctly
我试图将SDL_mixer、SDL_ttf和SDL_image链接到我的项目,但由于某种原因,在编译代码时会弹出这些错误。我包含的头文件取决于上面的库。我按以下顺序链接到我的库:
最小GW32OpenGL32SDLmainSDLSDL_图像SDL_ttfSDL_混合器
#include <map>
#include <string>
#include <sstream>
#include <fstream>
#include <iostream>
#include <GL/gl.h>
#include <SDL/SDL.h>
#include <SDL/SDL_opengl.h>
#include <SDL/SDL_image.h>
#include <SDL/SDL_mixer.h>
#include <SDL/SDL_ttf.h>
using namespace std;
#include "include_file.h"
#include "structure.h"
#include "player.h"
#include "healthclass.h"
#include "items.h"
#include "loadfiles.h"
#include "init_game.h"
#include "missions.h"
然后错误:
objReleasemain.o:main.cpp:(.text+0x16e): undefined reference to `Mix_LoadMUS'
objReleasemain.o:main.cpp:(.text+0x197): undefined reference to `Mix_LoadWAV_RW'
objReleasemain.o:main.cpp:(.text+0x1c0): undefined reference to `Mix_LoadWAV_RW'
objReleasemain.o:main.cpp:(.text+0x1e9): undefined reference to `Mix_LoadWAV_RW'
objReleasemain.o:main.cpp:(.text+0x7cd): undefined reference to `IMG_Load'
objReleasemain.o:main.cpp:(.text+0x996): undefined reference to `TTF_RenderUTF8_Shaded'
objReleasemain.o:main.cpp:(.text+0x20ca): undefined reference to `Mix_CloseAudio'
objReleasemain.o:main.cpp:(.text+0x20cf): undefined reference to `TTF_Quit'
objReleasemain.o:main.cpp:(.text+0x2f7b): undefined reference to `IMG_Load'
objReleasemain.o:main.cpp:(.text+0x3788): undefined reference to `TTF_Init'
objReleasemain.o:main.cpp:(.text+0x37ac): undefined reference to `Mix_OpenAudio'
objReleasemain.o:main.cpp:(.text+0x3914): undefined reference to `TTF_OpenFont'
objReleasemain.o:main.cpp:(.text+0x3983): undefined reference to `Mix_PlayMusic'
objReleasemain.o:main.cpp:(.text+0x61f0): undefined reference to `Mix_PlayChannelTimed'
objReleasemain.o:main.cpp:(.text+0x6330): undefined reference to `Mix_Playing'
我发现我正试图用SDL_image、SDL_mixer和SDL_ttf的64位版本编译32位版本的SDL。因此,在安装加载项库时,安装库文件时请使用x86文件夹而不是x64文件夹。如果你有一台64位的计算机,如果SDL是32位的,那么使用x86 lib文件夹并不重要,除非你知道你在做什么,而我没有。
相关文章:
- Qt Visual Studio 2015 加载项编译问题
- 使用动态链接加载程序 <dlfcn.h> 而不是直接函数调用的目的是什么?
- Excel 2016 VSTO 加载项与本机代码 DLL
- 无法访问 ATL/COM C++ Outlook 加载项中的邮件项目
- IE 探索 11 < c++ ATL COM 浏览器帮助程序对象(加载项)来替换 DOM 中的文本
- 正在安装Visual Studio 2013的QT加载项
- 构建时的节点-gyp 链接库依赖项
- 不要在 Visual Studio 2012+Qt Visual Studio 加载项 1.2.1 中进行调试
- VS 2010 Qt 加载项中的链接错误
- SDL加载项库未正确链接
- 附加相同的加载项,但在 Excel 启动时来自不同的文件夹
- 自定义iojs加载项无法加载RSA私钥
- 链接器错误: /* 项实例 */ 已在项.obj 中定义
- 调试 C++ 由 C# Visual Studio 2010 加载项导入的 dll
- 如何在<String>节点中访问本地.js加载项
- 如何从无法注册到函数向导的 xll 加载项调用函数
- QWebView 中的 QT 哈希标签/链接加载
- Nodejs C++事件发射器.加载项错误.MakeCallback中没有函数.method=发出中止陷阱:6
- 链接具有依赖项的对象
- 节点加载项无法快照(CreateToolhelp32Snapshot)模块