【发布时间】:2019-10-01 03:15:59
【问题描述】:
我一直在看this tutorial,但遇到了一个错误。出于某种原因,即使我修复了未解决的外部符号错误,应用程序错误仍然可用。 https://imgur.com/a/ppngHxL我不知道是不是我的电脑的原因,因为它说它是64位处理系统,但似乎没有任何效果。
我尝试使用tutorial 提取 sdl2.dll 文件,然后将其复制粘贴到 windows32 文件中,但仍然无法正常工作,并且属性面板在我的计算机上没有兼容性选项卡.我不确定下一步该尝试什么。这是代码
#include "SDL.h"
#include <stdio.h>
int main(int argc, char *argv[]) {
SDL_Init(SDL_INIT_EVERYTHING);
SDL_Window *window = SDL_CreateWindow("title", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 600, 400, SDL_WINDOW_SHOWN );
SDL_Renderer *renderer = SDL_CreateRenderer(window, -1, 0);
SDL_SetRenderDrawColor(renderer, 0, 255, 0, 255);
SDL_RenderClear(renderer);
SDL_RenderPresent(renderer);
SDL_Delay(3000);
return 0;
}
【问题讨论】:
-
即使您的计算机是 64 位的,您仍然可以构建和运行链接到 32 位 DLL 的 32 位应用程序。 (平台
x86)您可以为您的编译器提供目标平台。您使用的是什么编译器/IDE?你得到了什么错误? (抱歉,我这边的图片被屏蔽了 - 公司安全偏执狂。) -
错误代码 0xc000007b 表示 INVALID_IMAGE_FORMAT,通常由于系统或应用程序文件丢失或损坏而发生。请确保您尝试通过代码使用的 dll 也使用相同的配置构建,即如果您尝试构建目标为 X64 架构的解决方案,则 dll (sdl2.dll) 也应该是 X64 位。
标签: c++ visual-studio visual-c++