我一直在尝试安装SDL_image,但它并不顺利。起初,我从Github安装它,但现在我使用MSYS2,因为它似乎更好。
我用pacman -S mingw-w64-x86_64-SDL2_image
安装了它,它说一切正常。然后我在我的c_cpp_propreties.json file
上包含了我的SDL2的包含文件夹路径,如下所示:
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**",
"src/include",
"C:\\msys64\\mingw64\\include\\SDL2"
],
字符串
现在,当我去我的代码,
#include <SDL2/SDL.h>
型
没有问题。当我试图写任何其他文件,我可以找到我的SDL2文件夹,如
#include <SDL2/SDL_keyboard.h>
型
没有问题。唯一的问题是当我尝试包含SDL_image时,
#include <SDL2/SDL_image.h>
型
它返回一个错误:cannot open source file.如果我写乱码,也会返回同样的错误,所以这可能意味着它找不到它。
我有几个理论,例如可能VS Code是不是使用另一个SDL 2文件夹的地方?我的安装有点奇怪,因为我安装了两次(我做了p acman -R
删除我之前安装的任何东西,但我不确定它是否工作).它也可能是SDL_image.h
文件只是不兼容,所以它不能被打开?
1条答案
按热度按时间v1l68za41#
答案其实很简单,在c_cpp_propreties.json文件中,你可以看到它说src/包括。这实际上是我遵循许多不同教程的副产品。在一些教程中,你被告知要创建一个src文件,并将所有SDL包含的内容放在其中。然后一些其他教程告诉你创建一个SDL 2文件夹,而另一些教程则告诉你使用MSYS 2。我遵循了所有3个,但不是真的知道我在做什么,让我有3个不同的SDL 2文件夹。
最后,问题是我在将第一个src/include链接到includePath中时将SDL 2_image安装到了其他SDL 2文件夹中,由于我从未在那里添加SDL_image,因此这部分代码始终不知道它。如果任何人最终出现类似情况,请记住您的行为会产生后果。谢谢您沿着帮助我的所有人。