cannot find -lSDL2
-
- Posts: 3915
- Joined: Jan 01, 2009 7:03
- Location: Australia
cannot find -lSDL2
So I downloaded SDL2 via,
http://www.freebasic.net/forum/viewtopic.php?t=21725
================================================================================================
Command executed:
"C:\FreeBasic\fbc.exe" "C:\FreeBasic\SDL_PROGRAMS\FB-SDL-2.0.1.b\FB-SDL-2.0.1\examples\graphics\SDL2\showimage.bas"
Compiler output:
C:\FreeBasic\bin\win32\ld.exe: cannot find -lSDL2
C:\FreeBasic\bin\win32\ld.exe: cannot find -lSDL2_image
Results:
Compilation failed
System:
FBIde: 0.4.6
fbc: FreeBASIC Compiler - Version 1.05.0 (01-31-2016), built for win32 (32bit)
OS: Windows NT 6.2 (build 9200)
===============================================================================================
I did a file search for -lSDL2 and -lDSL2_image without success.
I recognize them from a failed attempt to set up SDL2 with code::blocks
Google search result,
Your search - -lSDL2 - did not match any documents.
Can anyone tell me what are they and where are they?
.
http://www.freebasic.net/forum/viewtopic.php?t=21725
================================================================================================
Command executed:
"C:\FreeBasic\fbc.exe" "C:\FreeBasic\SDL_PROGRAMS\FB-SDL-2.0.1.b\FB-SDL-2.0.1\examples\graphics\SDL2\showimage.bas"
Compiler output:
C:\FreeBasic\bin\win32\ld.exe: cannot find -lSDL2
C:\FreeBasic\bin\win32\ld.exe: cannot find -lSDL2_image
Results:
Compilation failed
System:
FBIde: 0.4.6
fbc: FreeBASIC Compiler - Version 1.05.0 (01-31-2016), built for win32 (32bit)
OS: Windows NT 6.2 (build 9200)
===============================================================================================
I did a file search for -lSDL2 and -lDSL2_image without success.
I recognize them from a failed attempt to set up SDL2 with code::blocks
Google search result,
Your search - -lSDL2 - did not match any documents.
Can anyone tell me what are they and where are they?
.
Re: cannot find -lSDL2
SDL2.dllBasicCoder2 wrote:C:\FreeBasic\bin\win32\ld.exe: cannot find -lSDL2
SDL2_image.dllBasicCoder2 wrote:C:\FreeBasic\bin\win32\ld.exe: cannot find -lSDL2_image
-l --> Linker message (FB's Linker: ld.exe)
You'll have to download them from: SDL website.
You might also need: SDL2.dll.a (export-/import-library), as well as:
SDL2_image.dll.a
(export: from dll's point of view / import: from FB's point of view)
Applies to all other dll's too, irrespective of what the dll is for.
-
- Posts: 3915
- Joined: Jan 01, 2009 7:03
- Location: Australia
Re: cannot find -lSDL2
Like I say it is a chore finding and figuring stuff out.MrSwiss wrote:You'll have to download them from: SDL website.
On the SDL2 site there are two files.
I assume it is the MinGW required? One is a .zip and the other .tar.gz?
I assume the .tar.gz covers more than just the Visual C++ compiler.
Development Libraries:
Windows
SDL2_image-devel-2.0.1-VC.zip (Visual C++ 32/64-bit)
SDL2_image-devel-2.0.1-mingw.tar.gz (MinGW 32/64-bit)
I downloaded the tar.gz version and a WinOpener window appeared.
I selected the folder to download to and then up pops an advertisement,
with, Recommended App driver update.
next I find myself on a website offering Opener Plus for $7.39
So I deleted the stupid WinOpener with it stupid GUI.
A lot of sites offering the dll downloads play the same tricks. No dll just their special programs to "fix dll problems".
I couldn't find any .dll's when I downloaded the .zip version in the Development Libraries section.
Eventually found web pages with the .dlls taking a risk of getting a virus with a download.
The programs now compile.
Thanks for the input I wouldn't have realized that the -lsld2 meant it couldn't find the .dll as the compiler fails to give solutions to errors. Do X without saying what X is. Or in this case problem X without saying what X is or how to fix it.
Now I will have to do some SDL2 tutorials to see how hard it is to use.
.
Re: cannot find -lSDL2
Sometimes, linux is a lot easier:BasicCoder2 wrote:Like I say it is a chore finding and figuring stuff out.
Re: cannot find -lSDL2
This is an example of how to write a tutorial.
I followed along to the first hello world program and it was step for step, and left no mysteries.
It is for C++ however so take it for what its worth.
If the first couple of lessons are any indication, then I think it still might help you in using SDL here in FB.
I followed along to the first hello world program and it was step for step, and left no mysteries.
It is for C++ however so take it for what its worth.
If the first couple of lessons are any indication, then I think it still might help you in using SDL here in FB.
-
- Posts: 3915
- Joined: Jan 01, 2009 7:03
- Location: Australia
Re: cannot find -lSDL2
That was the tutorial I used in my failed attempt to set up SDL2 with code::blockssancho2 wrote:This is an example of how to write a tutorial.
Often experts are not always that good at explaining things to a non-expert or beginner.
Perhaps I will give C++ with SDL another try. If I can write C++ programs using SDL2 I should be able to translate them to FreeBASIC.
.
Re: cannot find -lSDL2
I've never tried Code::Blocks. I used Visual Studio and the tutorial was spot on.
-
- Posts: 3915
- Joined: Jan 01, 2009 7:03
- Location: Australia
Re: cannot find -lSDL2
Ok. Well maybe I will have to try Visual Studio. That is a microsoft product?sancho2 wrote:I've never tried Code::Blocks. I used Visual Studio and the tutorial was spot on.
In the meantime I tried to follow the tutorial carefully but ended up with,
||=== Build: Debug in SDL2 (compiler: GNU GCC Compiler) ===|
C:\mingw_dev_lib\01_hello_SDL.cpp|5|fatal error: SDL.h: No such file or directory|
||=== Build failed: 1 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|
After saving everything to come back to it later I get a window,
Layout changed
? The perspective 'Code::Blocks default' has changed. Do you want to save it?
Problem is I have no idea what they are talking about. Something the tutorial failed do cover.
So it looks like it is going to be a long hard road to follow. No easy tutorial for a beginner. Perhaps it was for you because you are already familiar with your IDE and how it works?
.
Re: cannot find -lSDL2
It seems that code blocks can't find the header file.
It is step 4 in the tutorial.
Under project settings, click on project build options
http://lazyfoo.net/tutorials/SDL/01_hel ... /index.php
It is step 4 in the tutorial.
Under project settings, click on project build options
In the Search Directories, we need to add a new compiler directory. Click add, Select the SDL2 folder inside of the include directory from the folder we extracted. Say no when it asks you whether you want it to be a relative path. Now Code::Blocks knows where to find the SDL 2 header files.
On this page:If you get an error where the compiler says it can't find SDL.h, it means you messed up this step.
http://lazyfoo.net/tutorials/SDL/01_hel ... /index.php
-
- Posts: 3915
- Joined: Jan 01, 2009 7:03
- Location: Australia
Re: cannot find -lSDL2
Found the SDL.h file in the uszipped SDL2_image-devel-2.0.1-VC.zip but couldn't figure out where to put it.
The SDL2_image-devel-2.0.1-mingw.tar.gz (MinGW 32/64-bit) didn't seem to unzip. I can't figure out why. I used the 7Zip utility.
Anyway I have erased everything and will start afresh again some other time.
They seem to want AU$3,674 for Visual Studio Enterprise.
.
The SDL2_image-devel-2.0.1-mingw.tar.gz (MinGW 32/64-bit) didn't seem to unzip. I can't figure out why. I used the 7Zip utility.
Anyway I have erased everything and will start afresh again some other time.
They seem to want AU$3,674 for Visual Studio Enterprise.
.
Re: cannot find -lSDL2
Visual Studio Express is what you are looking for. Its free.
But I thik that you are close with code::blocks anyway.
The last time I mess with tar files it seemed to me to be an unnecessary extra hassle. I'm sure they serve a purpose, but in this case there is a zip file that windows can handle natively.
You unzip all the contents into any folder. I made one simply c:\SDL and dumped everything in there. From there the tutorial tells you what files you have to copy and where to paste them.
If I were you I would backtrack all the way to the download and get the zip file instead of the tar file. I see the tutorial is telling you to opt for the tar.gz file but they give no reason for that.
Unzip everything into an easy to find spot. From there you can follow the instruction:
If I can find the time I am going to try to get this to work with FB. Since there is an SDL2.bi include file, it should just be a matter of making sure the compiler can find the library and the dll.
But I thik that you are close with code::blocks anyway.
The last time I mess with tar files it seemed to me to be an unnecessary extra hassle. I'm sure they serve a purpose, but in this case there is a zip file that windows can handle natively.
You unzip all the contents into any folder. I made one simply c:\SDL and dumped everything in there. From there the tutorial tells you what files you have to copy and where to paste them.
If I were you I would backtrack all the way to the download and get the zip file instead of the tar file. I see the tutorial is telling you to opt for the tar.gz file but they give no reason for that.
Unzip everything into an easy to find spot. From there you can follow the instruction:
I can tell you that the Visual Studio C++ version of the tutorial is almost identical. So for sure the problem you are seeing are simply getting the three files in the right places. The Dll, the Header .h, and the library file. And then making sure code::blocks can find them.Inside of i686-w64-mingw32 are the include, lib, and bin folders which contain everything we need compile and run SDL applications. Copy the contents of i686-w64-mingw32 to any directory you want. I recommend putting it in a folder that you dedicate to holding all your development libraries for MinGW. For these tutorials I'm putting it in a directory I created C:\mingw_dev_lib
If I can find the time I am going to try to get this to work with FB. Since there is an SDL2.bi include file, it should just be a matter of making sure the compiler can find the library and the dll.
-
- Posts: 3915
- Joined: Jan 01, 2009 7:03
- Location: Australia
Re: cannot find -lSDL2
Success!! 01_hello_SDL compiled and ran.
Thank you for hanging in there otherwise I probably would have given up.
With lesson 2 I found I had to do all the setting again!! And the image could not be found.
I have posted the problems to the C++ forum as this forum is really only for FB projects.
I managed to unzip the .tar.gz file somehow with 7ZFM. I think it might involve two stages.
Last time I was on the C++ forum (just playing with console programs) I was told that SFML is the best choice.
https://www.sfml-dev.org/
http://www.freebasic.net/forum/viewtopi ... hilit=SFML
.
Thank you for hanging in there otherwise I probably would have given up.
With lesson 2 I found I had to do all the setting again!! And the image could not be found.
I have posted the problems to the C++ forum as this forum is really only for FB projects.
I managed to unzip the .tar.gz file somehow with 7ZFM. I think it might involve two stages.
Last time I was on the C++ forum (just playing with console programs) I was told that SFML is the best choice.
https://www.sfml-dev.org/
http://www.freebasic.net/forum/viewtopi ... hilit=SFML
.
Re: cannot find -lSDL2
If you would read FB's Manual, there would NOT be such hassles!BasicCoder2 wrote:Like I say it is a chore finding and figuring stuff out ...MrSwiss wrote:You'll have to download them from: SDL website.
A lot of sites offering the dll downloads play the same tricks. No dll just their special programs to "fix dll problems".
Eventually found web pages with the .dlls taking a risk of getting a virus with a download.
The programs now compile.
On the page: External Libraries Index --> SDL it clearly states:
http://www.libsdl.org, but I'd use (secure): https://www.libsdl.org,
which is the official SDL homepage. (Not some dubious re-distributor ...)
Now, I'd suggest, to stop moaning and start reading, instead!