对 SDL_Init 的未定义引用

2023-11-24

我今天开始使用 SDL,之前遇到了一些问题,现在我可以运行它,但它不允许我初始化它。

这是我的代码:

#include <iostream>
#include "SDL.h"
#undef main

using namespace std;

int main(){
    if(SDL_Init(SDL_INIT_EVERYTHING)<0){
        cout << "error starting sdl" << endl;
    }
    return 0;
}

这是构建日志:

-------------- Build: Debug in Graphics (compiler: GNU GCC Compiler)---------------

mingw32-g++.exe -Wall -g -std=c++11 -IC:\Users\73638G75MA\Documents\SDL2-2.0.3\x86_64-w64-mingw32\include\SDL2 -I"C:\Users\73638G75MA\Documents\C++ projects\Graphics" -c "C:\Users\73638G75MA\Documents\C++ projects\Graphics\main.cpp" -o obj\Debug\main.o
mingw32-g++.exe -LC:\Users\73638G75MA\Documents\SDL2-2.0.3\x86_64-w64-mingw32\lib -o bin\Debug\Graphics.exe obj\Debug\main.o  -lmingw32 -lSDL2main -lSDL2  
obj\Debug\main.o: In function `main':
C:/Users/73638G75MA/Documents/C++ projects/Graphics/main.cpp:8: undefined reference to `SDL_Init'
collect2.exe: error: ld returned 1 exit status
Process terminated with status 1 (0 minute(s), 0 second(s))
1 error(s), 0 warning(s) (0 minute(s), 0 second(s))

我将感谢所有可能的帮助,一开始的 #undef main 是因为它不会让我运行它。如果它不存在,当我创建控制台应用程序时,它会给我一个“对 winmain@16 的未定义引用”。


根据include和library搜索路径...\SDL2-2.0.3\x86_64-w64-mingw32\...,您正在尝试使用 64 位 SDL2 进行构建。 从编译器名称来看mingw32-g++,我想说你正在使用 mingw.org 工具链 根据代码::块下载页面我检查了 codeblocks-13.12mingw-setup.exe 的内容,其中包含的工具链仅为 32 位,无法创建 64 位二进制文​​件,也无法使用 64 位库。

如果您想使用预构建的 SDL2,则需要下载匹配的工具链(64 位 mingw-w64)并使用它,或者更改构建参数以使用 SDL2 的 32 位构建(它存在于开发库档案 in the i686-w64-mingw32目录)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

对 SDL_Init 的未定义引用 的相关文章

随机推荐

  • zone.js/dist/zone-patch-rxjs 的用途

    也许我问这个问题已经太晚了 但无论如何 有人可以解释一下在什么情况下我需要导入区域的补丁 zone js dist zone patch rxjs 据我所知 补丁已添加于此PR 的继承者this one I use zone and RxJ
  • 如何使用 javascript 获取图像大小(以字节为单位)

    请告诉我如何使用 javascript 获取图像文件大小 以字节为单位 Thanks 如果 javascript 引擎支持 canvas 元素 您可以尝试使用 canvas 元素和 getImageData 从图像中获取像素数据 然后 根据
  • 在 Java 中内联声明数组是否更快(或更好)?

    考虑以下两个几乎等效的方法调用 请注意字节数组在两者上声明和分配的方式 void Method1 byte bytearray new byte 16 some code void Method2 byte bytearray 0 0 0
  • Android 键盘将标签栏置于顶部

    当我在应用程序中打开键盘时遇到一些问题 我有一个选项卡栏 位于页面底部 在某些情况下 并不总是当我单击编辑文本并且键盘显示时 它会将我的选项卡栏移动到其顶部 这是一个例子 所以我的问题是 有什么办法可以禁用它 我希望我的标签栏在显示时隐藏在
  • 尝试在没有表格的情况下使用角度材料分页器

    我从确切的示例 具有排序 分页和过滤的数据表 开始 这里https material angular io components table examples效果很好 但现在我想使用没有表格的分页器 所以我在 html 文件 中简单地替换为
  • 声明、实例化、初始化和分配对象的含义

    从技术上讲 这些术语的含义和区别是什么宣告 实例化 初始化 and 指派C 中的对象 我想我知道分配的含义 但我没有正式的定义 在msdn中 据说 创建对象的行为称为实例化 但其意义creating对我来说似乎很模糊 你可以写 int a
  • asp.net MVC 中的单元测试,如何模拟页面请求?

    如何模拟 net MVC 页面的页面请求 使用RhinoMocks var httpContext MockRepository GenerateMock
  • 为什么 sscanf 不能与 bool 类型正常工作

    这段代码的输出 const char buff 2D 1 char field 10 int flag sscanf buff s d field flag printf field s flag i n field flag is fie
  • 如何使用 Gradle 更改 Spring Boot 应用程序的端口?

    简单的问题是 如何使用 gradle 更改 Spring Boot 应用程序端口 Here如果你不使用 gradle 已经列出了很多正确答案 所以对于任何gradle问题 请参考这篇文章 如果您不想向 Gradle 脚本添加额外的配置 可以
  • 使用 dplyr 更改变量的值

    我经常需要根据不同变量的值更改变量的值 如下所示 mtcars mpg mtcars cyl 4 lt NA 我尝试这样做dplyr但惨败 mtcars gt mutate mpg mpg NA cyl 4 gt as data frame
  • 如何在 POST 表单上设置标题字段?

    如何在提交表单时在 POST 标头中设置自定义字段 这是不可能完成的 据我所知 但是 您可以使用例如 jquery 尽管您可以使用纯 JavaScript 来完成 来序列化表单并发送 使用 AJAX 同时添加自定义标头 看看jqueryse
  • 仅当某个元素旁边存在某个元素时,才将样式应用于元素

    我正在使用 section 标签在几页上 但在一页上我使用 section
  • Magento Apache 配置(app/etc/local.xml 可访问警告)

    刚刚在 Linux 服务器上安装完 Magento 当我进入 Magento 管理面板 时 我可以在 页面顶部 您的网络服务器配置不正确 因此 可以从外部访问包含敏感信息的配置文件 请联系您的托管提供商 出现此错误消息的最可能原因是什么 T
  • 如何让 TypeScript 引擎允许在 JSX 中自定义 HTML 属性?

    我猜想其中的 TypeScript 引擎视觉工作室代码已收到更新 现在第一次抱怨我在 HTML 元素上预先存在的自定义道具无效 这是一个 Babel React JSX 项目 没有任何 TypeScript div div 注意 它们 技术
  • 在 Android 中检测 VPN 背后

    如何以编程方式检测流量是否通过 VPN 而不使用意图连接到 VPN 服务 有系统调用吗 这有效 private boolean checkVPN ConnectivityManager cm ConnectivityManager this
  • 像硬币一样旋转图像

    我有一张图片 我想要像硬币一样旋转它在表面上旋转 我尝试了旋转变换 但它不会那样旋转 如何实现这样的动画呢 code void viewDidLoad super viewDidLoad self view setUserInteracti
  • 使用 Spring Boot 禁用单元测试的安全性

    我正在尝试创建一个简单且安全的 Spring Boot Web 项目 我可以正常启动应用程序 并且安全性工作正常 但是 我有一些组件想要在没有安全性的情况下进行测试 或者根本不进行测试 我根本无法让测试工作 我收到一个异常 表明它找不到 O
  • 使用 javascript 从 Firefox 获取原始源代码

    我正在编写一个程序来验证远程服务器上的网页 它使用 selenium RC 来运行 Firefox 并进行一系列测试 因此我可以调用任意 javascript 当出现故障时 我想记录页面生成的 HTML 现在访问 DOM HTML 很容易
  • moment.js - UTC 无法按我的预期工作

    在节点控制台中测试 var moment require moment create a new Date Object var now new Date 2013 02 28 11 11 11 create the native time
  • 对 SDL_Init 的未定义引用

    我今天开始使用 SDL 之前遇到了一些问题 现在我可以运行它 但它不允许我初始化它 这是我的代码 include