Welcome, Guest. Please login or register. Did you miss your activation email?

Author Topic: Setting up Windows 8.1 64-bit  (Read 3223 times)

0 Members and 1 Guest are viewing this topic.

GregTheHun

  • Newbie
  • *
  • Posts: 3
    • View Profile
Setting up Windows 8.1 64-bit
« on: January 17, 2015, 03:41:45 am »
OK, I figured that this would be specific enough that it probably calls for another topic. I just wish there was more coverage in the documentation about this, but what can I do?

Anyways, my question relates to getting things setup in Code::Blocks on Windows. My system:

Windows 8.1 Pro (If it matters)
64-bit
Using TDM-GCC that I downloaded from the site, with both the 32bit and 64bit Libraries installed.
Using the latest Code::Blocks (as of this date)
Using SFML "GCC 4.9.2 MinGW (SEH) - 64-bit"

Now, I believe the SFML version I'm using is correct, since in the bin directory of the folder. It contains the libgcc_s_seh_64-1.dll as well as libgcc_s_sjlj-1.dll, so that leads me to believe that it should work as a 32-bit or 64-bit app.

However, I'm still getting:

||=== Build: Debug in FirstGame (compiler: GNU GCC Compiler) ===|
C:\SFML22\lib\libsfml-graphics-s-d.a(RenderWindow.cpp.obj)||In function `capture':|
D:\sfml-release\_Sources\SFML\src\SFML\Graphics\RenderWindow.cpp|92|undefined reference to `glReadPixels'|
C:\SFML22\lib\libsfml-graphics-s-d.a(RenderTarget.cpp.obj)||In function `clear':|
D:\sfml-release\_Sources\SFML\src\SFML\Graphics\RenderTarget.cpp|99|undefined reference to `glClearColor'|
D:\sfml-release\_Sources\SFML\src\SFML\Graphics\RenderTarget.cpp|100|undefined reference to `glClear'|
C:\SFML22\lib\libsfml-graphics-s-d.a(RenderTarget.cpp.obj)||In function `draw':|
D:\sfml-release\_Sources\SFML\src\SFML\Graphics\RenderTarget.cpp|269|undefined reference to `glVertexPointer'|
D:\sfml-release\_Sources\SFML\src\SFML\Graphics\RenderTarget.cpp|270|undefined reference to `glColorPointer'|
D:\sfml-release\_Sources\SFML\src\SFML\Graphics\RenderTarget.cpp|271|undefined reference to `glTexCoordPointer'|
D:\sfml-release\_Sources\SFML\src\SFML\Graphics\RenderTarget.cpp|280|undefined reference to `glDrawArrays'|
C:\SFML22\lib\libsfml-graphics-s-d.a(RenderTarget.cpp.obj)||In function `pushGLStates':|
D:\sfml-release\_Sources\SFML\src\SFML\Graphics\RenderTarget.cpp|299|undefined reference to `glGetError'|
D:\sfml-release\_Sources\SFML\src\SFML\Graphics\RenderTarget.cpp|309|undefined reference to `glPushClientAttrib'|
D:\sfml-release\_Sources\SFML\src\SFML\Graphics\RenderTarget.cpp|310|undefined reference to `glPushAttrib'|
D:\sfml-release\_Sources\SFML\src\SFML\Graphics\RenderTarget.cpp|312|undefined reference to `glMatrixMode'|
D:\sfml-release\_Sources\SFML\src\SFML\Graphics\RenderTarget.cpp|313|undefined reference to `glPushMatrix'|
D:\sfml-release\_Sources\SFML\src\SFML\Graphics\RenderTarget.cpp|314|undefined reference to `glMatrixMode'|
D:\sfml-release\_Sources\SFML\src\SFML\Graphics\RenderTarget.cpp|315|undefined reference to `glPushMatrix'|
D:\sfml-release\_Sources\SFML\src\SFML\Graphics\RenderTarget.cpp|316|undefined reference to `glMatrixMode'|
D:\sfml-release\_Sources\SFML\src\SFML\Graphics\RenderTarget.cpp|317|undefined reference to `glPushMatrix'|
C:\SFML22\lib\libsfml-graphics-s-d.a(RenderTarget.cpp.obj)||In function `popGLStates':|
D:\sfml-release\_Sources\SFML\src\SFML\Graphics\RenderTarget.cpp|329|undefined reference to `glMatrixMode'|
D:\sfml-release\_Sources\SFML\src\SFML\Graphics\RenderTarget.cpp|330|undefined reference to `glPopMatrix'|
D:\sfml-release\_Sources\SFML\src\SFML\Graphics\RenderTarget.cpp|331|undefined reference to `glMatrixMode'|
D:\sfml-release\_Sources\SFML\src\SFML\Graphics\RenderTarget.cpp|332|undefined reference to `glPopMatrix'|
D:\sfml-release\_Sources\SFML\src\SFML\Graphics\RenderTarget.cpp|333|undefined reference to `glMatrixMode'|
D:\sfml-release\_Sources\SFML\src\SFML\Graphics\RenderTarget.cpp|334|undefined reference to `glPopMatrix'|
D:\sfml-release\_Sources\SFML\src\SFML\Graphics\RenderTarget.cpp|336|undefined reference to `glPopClientAttrib'|
D:\sfml-release\_Sources\SFML\src\SFML\Graphics\RenderTarget.cpp|337|undefined reference to `glPopAttrib'|
C:\SFML22\lib\libsfml-graphics-s-d.a(RenderTarget.cpp.obj)||In function `resetGLStates':|
D:\sfml-release\_Sources\SFML\src\SFML\Graphics\RenderTarget.cpp|362|undefined reference to `glDisable'|
D:\sfml-release\_Sources\SFML\src\SFML\Graphics\RenderTarget.cpp|363|undefined reference to `glDisable'|
D:\sfml-release\_Sources\SFML\src\SFML\Graphics\RenderTarget.cpp|364|undefined reference to `glDisable'|
D:\sfml-release\_Sources\SFML\src\SFML\Graphics\RenderTarget.cpp|365|undefined reference to `glDisable'|
D:\sfml-release\_Sources\SFML\src\SFML\Graphics\RenderTarget.cpp|366|undefined reference to `glEnable'|
D:\sfml-release\_Sources\SFML\src\SFML\Graphics\RenderTarget.cpp|367|undefined reference to `glEnable'|
D:\sfml-release\_Sources\SFML\src\SFML\Graphics\RenderTarget.cpp|368|undefined reference to `glMatrixMode'|
D:\sfml-release\_Sources\SFML\src\SFML\Graphics\RenderTarget.cpp|369|undefined reference to `glEnableClientState'|
D:\sfml-release\_Sources\SFML\src\SFML\Graphics\RenderTarget.cpp|370|undefined reference to `glEnableClientState'|
D:\sfml-release\_Sources\SFML\src\SFML\Graphics\RenderTarget.cpp|371|undefined reference to `glEnableClientState'|
C:\SFML22\lib\libsfml-graphics-s-d.a(RenderTarget.cpp.obj)||In function `applyCurrentView':|
D:\sfml-release\_Sources\SFML\src\SFML\Graphics\RenderTarget.cpp|407|undefined reference to `glViewport'|
D:\sfml-release\_Sources\SFML\src\SFML\Graphics\RenderTarget.cpp|410|undefined reference to `glMatrixMode'|
D:\sfml-release\_Sources\SFML\src\SFML\Graphics\RenderTarget.cpp|411|undefined reference to `glLoadMatrixf'|
D:\sfml-release\_Sources\SFML\src\SFML\Graphics\RenderTarget.cpp|414|undefined reference to `glMatrixMode'|
C:\SFML22\lib\libsfml-graphics-s-d.a(RenderTarget.cpp.obj)||In function `applyBlendMode':|
D:\sfml-release\_Sources\SFML\src\SFML\Graphics\RenderTarget.cpp|432|undefined reference to `glBlendFunc'|
C:\SFML22\lib\libsfml-graphics-s-d.a(RenderTarget.cpp.obj)||In function `applyTransform':|
D:\sfml-release\_Sources\SFML\src\SFML\Graphics\RenderTarget.cpp|457|undefined reference to `glLoadMatrixf'|
C:\SFML22\lib\libsfml-graphics-s-d.a(RenderTarget.cpp.obj):RenderTarget.cpp:(.rdata$.refptr.__glewBlendEquation[.refptr.__glewBlendEquation]+0x0)||undefined reference to `__glewBlendEquation'|
C:\SFML22\lib\libsfml-graphics-s-d.a(RenderTarget.cpp.obj):RenderTarget.cpp:(.rdata$.refptr.__glewBlendEquationSeparateEXT[.refptr.__glewBlendEquationSeparateEXT]+0x0)||undefined reference to `__glewBlendEquationSeparateEXT'|
C:\SFML22\lib\libsfml-graphics-s-d.a(RenderTarget.cpp.obj):RenderTarget.cpp:(.rdata$.refptr.__GLEW_EXT_blend_equation_separate[.refptr.__GLEW_EXT_blend_equation_separate]+0x0)||undefined reference to `__GLEW_EXT_blend_equation_separate'|
C:\SFML22\lib\libsfml-graphics-s-d.a(RenderTarget.cpp.obj):RenderTarget.cpp:(.rdata$.refptr.__glewBlendFuncSeparateEXT[.refptr.__glewBlendFuncSeparateEXT]+0x0)||undefined reference to `__glewBlendFuncSeparateEXT'|
C:\SFML22\lib\libsfml-graphics-s-d.a(RenderTarget.cpp.obj):RenderTarget.cpp:(.rdata$.refptr.__GLEW_EXT_blend_func_separate[.refptr.__GLEW_EXT_blend_func_separate]+0x0)||undefined reference to `__GLEW_EXT_blend_func_separate'|
C:\SFML22\lib\libsfml-graphics-s-d.a(RenderTarget.cpp.obj):RenderTarget.cpp:(.rdata$.refptr.__glewActiveTextureARB[.refptr.__glewActiveTextureARB]+0x0)||undefined reference to `__glewActiveTextureARB'|
C:\SFML22\lib\libsfml-graphics-s-d.a(RenderTarget.cpp.obj):RenderTarget.cpp:(.rdata$.refptr.__glewClientActiveTextureARB[.refptr.__glewClientActiveTextureARB]+0x0)||undefined reference to `__glewClientActiveTextureARB'|
C:\SFML22\lib\libsfml-graphics-s-d.a(RenderTarget.cpp.obj):RenderTarget.cpp:(.rdata$.refptr.__GLEW_ARB_multitexture[.refptr.__GLEW_ARB_multitexture]+0x0)||undefined reference to `__GLEW_ARB_multitexture'|
C:\SFML22\lib\libsfml-graphics-s-d.a(GLCheck.cpp.obj)||In function `glCheckError':|
D:\sfml-release\_Sources\SFML\src\SFML\Graphics\GLCheck.cpp|40|undefined reference to `glGetError'|
C:\SFML22\lib\libsfml-graphics-s-d.a(Texture.cpp.obj)||In function `checkMaximumTextureSize':|
D:\sfml-release\_Sources\SFML\src\SFML\Graphics\Texture.cpp|64|undefined reference to `glGetIntegerv'|
||More errors follow but not being shown.|
||Edit the max errors limit in compiler options...|
||=== Build failed: 50 error(s), 0 warning(s) (0 minute(s), 2 second(s)) ===|


When I try to build and run, but any pointers to similar topics would help I just didn't find anything in my search through the forums and reading the tutorials.
« Last Edit: January 17, 2015, 04:09:46 am by GregTheHun »

GregTheHun

  • Newbie
  • *
  • Posts: 3
    • View Profile
Re: Setting up Windows 8.1 64-bit
« Reply #1 on: January 17, 2015, 04:59:46 am »
Sorry, forgot to add this as well considering the error above.


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

x86_64-w64-mingw32-g++.exe -LC:\SFML22\lib -LC:\SFML22\lib -o bin\Debug\FirstGame.exe obj\Debug\main.o   -lsfml-graphics-s-d -lsfml-window-s-d -lsfml-system-s-d -mwindows
C:\SFML22\lib/libsfml-graphics-s-d.a(RenderWindow.cpp.obj): In function `capture':
D:/sfml-release/_Sources/SFML/src/SFML/Graphics/RenderWindow.cpp:92: undefined reference to `glReadPixels'
C:\SFML22\lib/libsfml-graphics-s-d.a(RenderTarget.cpp.obj): In function `clear':
D:/sfml-release/_Sources/SFML/src/SFML/Graphics/RenderTarget.cpp:99: undefined reference to `glClearColor'
D:/sfml-release/_Sources/SFML/src/SFML/Graphics/RenderTarget.cpp:100: undefined reference to `glClear'
C:\SFML22\lib/libsfml-graphics-s-d.a(RenderTarget.cpp.obj): In function `draw':
D:/sfml-release/_Sources/SFML/src/SFML/Graphics/RenderTarget.cpp:269: undefined reference to `glVertexPointer'
D:/sfml-release/_Sources/SFML/src/SFML/Graphics/RenderTarget.cpp:270: undefined reference to `glColorPointer'
D:/sfml-release/_Sources/SFML/src/SFML/Graphics/RenderTarget.cpp:271: undefined reference to `glTexCoordPointer'
D:/sfml-release/_Sources/SFML/src/SFML/Graphics/RenderTarget.cpp:280: undefined reference to `glDrawArrays'
C:\SFML22\lib/libsfml-graphics-s-d.a(RenderTarget.cpp.obj): In function `pushGLStates':
D:/sfml-release/_Sources/SFML/src/SFML/Graphics/RenderTarget.cpp:299: undefined reference to `glGetError'
D:/sfml-release/_Sources/SFML/src/SFML/Graphics/RenderTarget.cpp:309: undefined reference to `glPushClientAttrib'
D:/sfml-release/_Sources/SFML/src/SFML/Graphics/RenderTarget.cpp:310: undefined reference to `glPushAttrib'
D:/sfml-release/_Sources/SFML/src/SFML/Graphics/RenderTarget.cpp:312: undefined reference to `glMatrixMode'
D:/sfml-release/_Sources/SFML/src/SFML/Graphics/RenderTarget.cpp:313: undefined reference to `glPushMatrix'
D:/sfml-release/_Sources/SFML/src/SFML/Graphics/RenderTarget.cpp:314: undefined reference to `glMatrixMode'
D:/sfml-release/_Sources/SFML/src/SFML/Graphics/RenderTarget.cpp:315: undefined reference to `glPushMatrix'
D:/sfml-release/_Sources/SFML/src/SFML/Graphics/RenderTarget.cpp:316: undefined reference to `glMatrixMode'
D:/sfml-release/_Sources/SFML/src/SFML/Graphics/RenderTarget.cpp:317: undefined reference to `glPushMatrix'
C:\SFML22\lib/libsfml-graphics-s-d.a(RenderTarget.cpp.obj): In function `popGLStates':
D:/sfml-release/_Sources/SFML/src/SFML/Graphics/RenderTarget.cpp:329: undefined reference to `glMatrixMode'
D:/sfml-release/_Sources/SFML/src/SFML/Graphics/RenderTarget.cpp:330: undefined reference to `glPopMatrix'
D:/sfml-release/_Sources/SFML/src/SFML/Graphics/RenderTarget.cpp:331: undefined reference to `glMatrixMode'
D:/sfml-release/_Sources/SFML/src/SFML/Graphics/RenderTarget.cpp:332: undefined reference to `glPopMatrix'
D:/sfml-release/_Sources/SFML/src/SFML/Graphics/RenderTarget.cpp:333: undefined reference to `glMatrixMode'
D:/sfml-release/_Sources/SFML/src/SFML/Graphics/RenderTarget.cpp:334: undefined reference to `glPopMatrix'
D:/sfml-release/_Sources/SFML/src/SFML/Graphics/RenderTarget.cpp:336: undefined reference to `glPopClientAttrib'
D:/sfml-release/_Sources/SFML/src/SFML/Graphics/RenderTarget.cpp:337: undefined reference to `glPopAttrib'
C:\SFML22\lib/libsfml-graphics-s-d.a(RenderTarget.cpp.obj): In function `resetGLStates':
D:/sfml-release/_Sources/SFML/src/SFML/Graphics/RenderTarget.cpp:362: undefined reference to `glDisable'
D:/sfml-release/_Sources/SFML/src/SFML/Graphics/RenderTarget.cpp:363: undefined reference to `glDisable'
D:/sfml-release/_Sources/SFML/src/SFML/Graphics/RenderTarget.cpp:364: undefined reference to `glDisable'
D:/sfml-release/_Sources/SFML/src/SFML/Graphics/RenderTarget.cpp:365: undefined reference to `glDisable'
D:/sfml-release/_Sources/SFML/src/SFML/Graphics/RenderTarget.cpp:366: undefined reference to `glEnable'
D:/sfml-release/_Sources/SFML/src/SFML/Graphics/RenderTarget.cpp:367: undefined reference to `glEnable'
D:/sfml-release/_Sources/SFML/src/SFML/Graphics/RenderTarget.cpp:368: undefined reference to `glMatrixMode'
D:/sfml-release/_Sources/SFML/src/SFML/Graphics/RenderTarget.cpp:369: undefined reference to `glEnableClientState'
D:/sfml-release/_Sources/SFML/src/SFML/Graphics/RenderTarget.cpp:370: undefined reference to `glEnableClientState'
D:/sfml-release/_Sources/SFML/src/SFML/Graphics/RenderTarget.cpp:371: undefined reference to `glEnableClientState'
C:\SFML22\lib/libsfml-graphics-s-d.a(RenderTarget.cpp.obj): In function `applyCurrentView':
D:/sfml-release/_Sources/SFML/src/SFML/Graphics/RenderTarget.cpp:407: undefined reference to `glViewport'
D:/sfml-release/_Sources/SFML/src/SFML/Graphics/RenderTarget.cpp:410: undefined reference to `glMatrixMode'
D:/sfml-release/_Sources/SFML/src/SFML/Graphics/RenderTarget.cpp:411: undefined reference to `glLoadMatrixf'
D:/sfml-release/_Sources/SFML/src/SFML/Graphics/RenderTarget.cpp:414: undefined reference to `glMatrixMode'
C:\SFML22\lib/libsfml-graphics-s-d.a(RenderTarget.cpp.obj): In function `applyBlendMode':
D:/sfml-release/_Sources/SFML/src/SFML/Graphics/RenderTarget.cpp:432: undefined reference to `glBlendFunc'
C:\SFML22\lib/libsfml-graphics-s-d.a(RenderTarget.cpp.obj): In function `applyTransform':
D:/sfml-release/_Sources/SFML/src/SFML/Graphics/RenderTarget.cpp:457: undefined reference to `glLoadMatrixf'
C:\SFML22\lib/libsfml-graphics-s-d.a(RenderTarget.cpp.obj):RenderTarget.cpp:(.rdata$.refptr.__glewBlendEquation[.refptr.__glewBlendEquation]+0x0): undefined reference to `__glewBlendEquation'
C:\SFML22\lib/libsfml-graphics-s-d.a(RenderTarget.cpp.obj):RenderTarget.cpp:(.rdata$.refptr.__glewBlendEquationSeparateEXT[.refptr.__glewBlendEquationSeparateEXT]+0x0): undefined reference to `__glewBlendEquationSeparateEXT'
C:\SFML22\lib/libsfml-graphics-s-d.a(RenderTarget.cpp.obj):RenderTarget.cpp:(.rdata$.refptr.__GLEW_EXT_blend_equation_separate[.refptr.__GLEW_EXT_blend_equation_separate]+0x0): undefined reference to `__GLEW_EXT_blend_equation_separate'
C:\SFML22\lib/libsfml-graphics-s-d.a(RenderTarget.cpp.obj):RenderTarget.cpp:(.rdata$.refptr.__glewBlendFuncSeparateEXT[.refptr.__glewBlendFuncSeparateEXT]+0x0): undefined reference to `__glewBlendFuncSeparateEXT'
C:\SFML22\lib/libsfml-graphics-s-d.a(RenderTarget.cpp.obj):RenderTarget.cpp:(.rdata$.refptr.__GLEW_EXT_blend_func_separate[.refptr.__GLEW_EXT_blend_func_separate]+0x0): undefined reference to `__GLEW_EXT_blend_func_separate'
C:\SFML22\lib/libsfml-graphics-s-d.a(RenderTarget.cpp.obj):RenderTarget.cpp:(.rdata$.refptr.__glewActiveTextureARB[.refptr.__glewActiveTextureARB]+0x0): undefined reference to `__glewActiveTextureARB'
C:\SFML22\lib/libsfml-graphics-s-d.a(RenderTarget.cpp.obj):RenderTarget.cpp:(.rdata$.refptr.__glewClientActiveTextureARB[.refptr.__glewClientActiveTextureARB]+0x0): undefined reference to `__glewClientActiveTextureARB'
C:\SFML22\lib/libsfml-graphics-s-d.a(RenderTarget.cpp.obj):RenderTarget.cpp:(.rdata$.refptr.__GLEW_ARB_multitexture[.refptr.__GLEW_ARB_multitexture]+0x0): undefined reference to `__GLEW_ARB_multitexture'
C:\SFML22\lib/libsfml-graphics-s-d.a(GLCheck.cpp.obj): In function `glCheckError':
D:/sfml-release/_Sources/SFML/src/SFML/Graphics/GLCheck.cpp:40: undefined reference to `glGetError'
C:\SFML22\lib/libsfml-graphics-s-d.a(Texture.cpp.obj): In function `checkMaximumTextureSize':
D:/sfml-release/_Sources/SFML/src/SFML/Graphics/Texture.cpp:64: undefined reference to `glGetIntegerv'
Process terminated with status 1 (0 minute(s), 2 second(s))
50 error(s), 0 warning(s) (0 minute(s), 2 second(s))



This was also following the instructions here: http://www.sfml-dev.org/tutorials/2.2/start-cb.php
« Last Edit: January 17, 2015, 05:01:30 am by GregTheHun »

lordseanington

  • Jr. Member
  • **
  • Posts: 86
  • Coffee is the blood of a coder.
    • View Profile
Re: Setting up Windows 8.1 64-bit
« Reply #2 on: January 17, 2015, 08:14:44 am »
I am also using code blocks. Here are a few dumb questions nobody checks.
Did you use all the propper include for  the programs purpose and did u remember to link it properly.

eXpl0it3r

  • SFML Team
  • Hero Member
  • *****
  • Posts: 11034
    • View Profile
    • development blog
    • Email
AW: Re: Setting up Windows 8.1 64-bit
« Reply #3 on: January 17, 2015, 10:01:37 am »
Windows 8.1 Pro (If it matters)
64-bit
Using TDM-GCC that I downloaded from the site, with both the 32bit and 64bit Libraries installed.
Using the latest Code::Blocks (as of this date)
Using SFML "GCC 4.9.2 MinGW (SEH) - 64-bit"
So if you look at the download page and you see 4 different TDM package and yet you still decide that it must be the non TDM package that fits your compiler best? ;)

If you downloaded the latest TDM version from TDragon's website itself, you'll have to build SFML yourself. Since we don't provide a package for it.

As for a lot of your errors, go and read the tutorial about static linking in SFML 2.2 again.
Official FAQ: https://www.sfml-dev.org/faq.php
Official Discord Server: https://discord.gg/nr4X7Fh
——————————————————————
Dev Blog: https://duerrenberger.dev/blog/

GregTheHun

  • Newbie
  • *
  • Posts: 3
    • View Profile
Re: Setting up Windows 8.1 64-bit
« Reply #4 on: January 17, 2015, 03:06:20 pm »
OK, I would've rather avoided compiling myself, but probably good experience.

The main reason I picked the package I did is because I figured if I'm using a TDM 4.9.2 equivalent to gcc; I should probably use that same version SFML gives out.

I was very careful to read from top to bottom on the setting up tutorial. I also noticed the bit when it said if you wanted everything to be included in the exe file (not as like a dll) then you would have to add in the .a files found in the lib folder and make sure to have the SFML_STATIC put in the #defines section.

Did I miss something?
« Last Edit: January 17, 2015, 03:09:14 pm by GregTheHun »

eXpl0it3r

  • SFML Team
  • Hero Member
  • *****
  • Posts: 11034
    • View Profile
    • development blog
    • Email
Re: Setting up Windows 8.1 64-bit
« Reply #5 on: January 17, 2015, 03:17:04 pm »
It's not that hard to build it yourself. Just read the SFML CMake tutorial.


Well I don't see you linking SFML's dependencies:

Starting from SFML 2.2, when static linking, you will have to link all of SFML's dependencies to your project as well. This means that if you are linking sfml-window-s or sfml-window-s-d for example, you will also have to link opengl32, winmm and gdi32. Some of these dependency libraries might already be listed under "Inherited values", but adding them again yourself shouldn't cause any problems.
...

Make sure to really read the SFML 2.2 tutorial and not an older one. ;)
Official FAQ: https://www.sfml-dev.org/faq.php
Official Discord Server: https://discord.gg/nr4X7Fh
——————————————————————
Dev Blog: https://duerrenberger.dev/blog/