Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/129.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 将SDL与g+链接+;_C++_G++_Sdl - Fatal编程技术网

C++ 将SDL与g+链接+;

C++ 将SDL与g+链接+;,c++,g++,sdl,C++,G++,Sdl,我在将SDL与g++链接时遇到一些问题。我用的是Windows10 我从www.libsdl.org获得的SDL2.dll运行时二进制文件位于我工作所在的项目文件夹的lib文件夹中 但是,当我尝试使用以下命令链接SDL时,我被告知无法找到SDL2/SDL.h: C:\Users\******\Documents\*********>g++ main.cpp -o main -L/lib -lSDL2 In file included from main.cpp:2: Window.h:1:

我在将SDL与g++链接时遇到一些问题。我用的是Windows10

我从www.libsdl.org获得的SDL2.dll运行时二进制文件位于我工作所在的项目文件夹的lib文件夹中

但是,当我尝试使用以下命令链接SDL时,我被告知无法找到SDL2/SDL.h:

C:\Users\******\Documents\*********>g++ main.cpp -o main -L/lib -lSDL2
In file included from main.cpp:2:
Window.h:1: SDL2/SDL.h: No such file or directory
添加-v标记会显示以下消息:

Reading specs from C:\cygnus\cygwin-b20\H-i586-cygwin32\bin\..\lib\gcc-lib\i586-cygwin32\egcs-2.91.57\specs
gcc version egcs-2.91.57 19980901 (egcs-1.1 release)
C:\cygnus\cygwin-b20\H-i586-cygwin32\bin\..\lib\gcc-lib\i586-cygwin32\egcs-2.91.57\cpp.exe -lang-c++ -v -iprefix C:\cygnus\cygwin-b20\H-i586-cygwin32\bin\..\lib/gcc-lib/i586-cygwin32\egcs-2.91.57\ -undef -D__GNUC__=2 -D__GNUG__=2 -D__cplusplus -D__GNUC_MINOR__=91 -Di386 -D_WIN32 -DWINNT -D_X86_=1 -D__STDC__=1 -D__stdcall=__attribute__((__stdcall__)) -D__cdecl=__attribute__((__cdecl__)) -D__declspec(x)=__attribute__((x)) -D__i386__ -D_WIN32 -D__WINNT__ -D_X86_=1 -D__STDC__=1 -D__stdcall=__attribute__((__stdcall__)) -D__cdecl=__attribute__((__cdecl__)) -D__declspec(x)=__attribute__((x)) -D__i386 -D__WINNT -Asystem(winnt) -Acpu(i386) -Amachine(i386) -D__EXCEPTIONS -remap -Acpu(i386) -Amachine(i386) -Di386 -D__i386 -D__i386__ -Di586 -Dpentium -D__i586 -D__i586__ -D__pentium -D__pentium__ -D__CYGWIN32__ -D__CYGWIN__ main.cpp C:\Users\shado\AppData\Local\Temp\cctsfB1Y.ii
GNU CPP version egcs-2.91.57 19980901 (egcs-1.1 release) (80386, BSD syntax)
#include "..." search starts here:
#include <...> search starts here:
C:\cygnus\cygwin-b20\H-i586-cygwin32\bin\..\lib\gcc-lib\i586-cygwin32\egcs-2.91.57\..\..\..\..\..\include\g++
C:\cygnus\cygwin-b20\H-i586-cygwin32\bin\..\lib\gcc-lib\i586-cygwin32\egcs-2.91.57\..\..\..\..\..\include
C:\cygnus\cygwin-b20\H-i586-cygwin32\bin\..\lib\gcc-lib\i586-cygwin32\egcs-2.91.57\..\..\..\..\i586-cygwin32\include
C:\cygnus\cygwin-b20\H-i586-cygwin32\bin\..\lib\gcc-lib\i586-cygwin32\egcs-2.91.57\include
\cygnus\cygwin-b20\H-i586-cygwin32\lib\gcc-lib\i586-cygwin32\egcs-2.91.57\..\..\..\..\..\include\g++
\cygnus\cygwin-b20\H-i586-cygwin32\lib\gcc-lib\i586-cygwin32\egcs-2.91.57\..\..\..\..\..\include
\cygnus\cygwin-b20\H-i586-cygwin32\lib\gcc-lib\i586-cygwin32\egcs-2.91.57\..\..\..\..\i586-cygwin32\include
\cygnus\cygwin-b20\H-i586-cygwin32\lib\gcc-lib\i586-cygwin32\egcs-2.91.57\include
End of search list.
从C:\cygnus\cygwin-b20\H-i586-cygwin32\bin\..\lib\gcc-lib\i586-cygwin32\egcs-2.91.57\specs读取规范
gcc版本egcs-2.91.57 19980901(egcs-1.1版本)
(C:\C:\C:\GGGGGGGGGGGGGGGGGGGGGGGGGGC lib\gcc lib\i586-GGGG温32\GGGGGGGGGGGGGGG32\3.C\C:\C:\C:\C:\GGGGGGGGGG7-32\3.3.1.11.57-7-7-8-8-8-8-8-8-8-8-8-8-8-8-8-8-8-8-8-8-8-8-8-8-8-8-8-8-8-8-8-8-8-8-8-3-3-3-3-7-2-2-2-2-2-2.7-2-2.7-2.7-2.9-2.9.9.9.9.9.9.9.9.9.9.9.7-7 ux86=1-D\uuuuu STDC\uuuuu=1-D\uuuuuu stdcall=\uuuuuuuu属性(uuuu stdcall))这两个cdecl(D)的一个数字。cdecl(D)的cdecl(D)的cdecl(D)的一个数字(x)的数字(x)的数字(x)的数字(x)的数字(x)的数字(x)的数字(x)的数字(x)的数字(x)的数字(x)的数字(x)的数字)的数字(x)的数字(x)的数字(x)的数字(x)的数字(x)的数字(x)的数字(x)的数字)的数字(x)的数字(x)的数字(x)的数字(x)的数字)的数字(x)的数字(x)的数字(x)的数字(x)的数字(x)的数字)的数字(x)的数字(x)的数字)的数字(x)的数字(x)的数字)的数字(x)的属性的数字)的数字(x)的数字(x)的数字)的数字)的数字)的数字)i(x)=u_属性u_((x))-D_i386-D_WINNT-Asystem(WINNT)-Acpu(i386)-Amachine(i386)-D_异常-remap-Acpu(i386)-Amachine(i386)-Di386-D_uuui386-D_uuuuu386-D_uuui586-D_uuuuuui586-D_uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu奔腾-D_uuuuuuuuuuuuuuuuuuuu32_uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuucygwin_uuuuuuuuuuuuu
GNU CPP版本egcs-2.91.57 19980901(egcs-1.1发行版)(80386,BSD语法)
#包括“…”搜索从这里开始:
#包括搜索从这里开始:
C:\cygnus\cygwin-b20\H-i586-cygwin32\bin\..\lib\gcc lib\i586-cygwin32\egcs-2.91.57\..\include\g++
C:\cygnus\cygwin-b20\H-i586-cygwin32\bin\..\lib\gcc lib\i586-cygwin32\egcs-2.91.57\..\include
C:\cygnus\cygwin-b20\H-i586-cygwin32\bin\..\lib\gcc lib\i586-cygwin32\egcs-2.91.57\..\i586-cygwin32\include
C:\cygnus\cygwin-b20\H-i586-cygwin32\bin\..\lib\gcc lib\i586-cygwin32\egcs-2.91.57\include
\天鹅座++
\天鹅座\cygwin-b20\H-i586-cygwin32\lib\gcc lib\i586-cygwin32\egcs-2.91.57\..包括
\天鹅座\cygwin-b20\H-i586-cygwin32\lib\gcc lib\i586-cygwin32\egcs-2.91.57\\\\\\\\\\\\\\\ i586-cygwin32\include
\天鹅座\cygwin-b20\H-i586-cygwin32\lib\gcc lib\i586-cygwin32\egcs-2.91.57\include
搜索列表结束。
给出错误的文件如下所示:

#include <SDL2/SDL.h>

class Window {
public:
    Window();
    ~Window();

    void initialize();

private:
    SDL_Window* window;

    int screenWidth;
    int screenHeight;
#包括
类窗口{
公众:
窗口();
~Window();
void初始化();
私人:
SDL_窗口*窗口;
int屏幕宽度;
屏幕高度;
}


如果我做了一些明显错误的事情,我很抱歉,我对g++有点陌生,所以我不能100%确定用它做事情的最佳方式。不过,如果有人能帮我的话,我将非常感激,谢谢。

你在用什么操作系统?因为据我所知,g++是针对Linux的c/c++编译器,但是.dll文件只在Windows上工作。@Leo哦,对不起,我忘了提一下,我使用的是Windows 10。@Leo GCC在Windows上使用得非常广泛。@NeilButterworth我错了,因为它代表GNU编译器集合,我以为它只在Linux上使用过。关于SDL.h找不到的错误是一个编译错误,而不是链接错误。我猜你根本没有告诉com在哪里可以找到SDL的编译器包括(gcc/g++的
-I
选项)。