Hi,
I am testing CodeLite as an alternative IDE (to VC++) on Windows. I am trying to build simplest SDL2 application using console g++ template but I am getting this compilation errors:
C:\Windows\system32\cmd.exe /c "mingw32-make.exe -j 8 -e -f Makefile"
----------Building project:[ hello - Debug ]----------
mingw32-make[1]: Entering directory 'D:/projects/hello'
g++ -o ./Debug/hello @"hello.txt" -L. -LD:/SDL2-2.0.3-mingw/lib/x86 -lSDL2Main -lSDL2
Warning: .drectve `/manifestdependency:"type='win32' name='Microsoft.VC90.CRT' version='9.0.21022.8' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b'" /DEFAULTLIB:"MSVCRT" /DEFAULTLIB:"OLDNAMES" U¸ DWarning: .drectve `' unrecognized
collect2.exe: error: ld returned 5 exit status
mingw32-make[1]: *** [Debug/hello] Error 1
mingw32-make.exe: *** [All] Error 2
hello.mk:79: recipe for target 'Debug/hello' failed
mingw32-make[1]: Leaving directory 'D:/projects/hello'
Makefile:4: recipe for target 'All' failed
0 errors, 0 warnings
I am using official SDL 2.0.3 mingw binaries and this is full source code:
#include <SDL.h>
int main(int argc, char **argv){
if (SDL_Init(SDL_INIT_EVERYTHING) != 0){
return 1;
}
SDL_Quit();
return 0;
}
Can't link to SDL2 (or boost) on Windows
-
- CodeLite Curious
- Posts: 2
- Joined: Wed May 07, 2014 3:59 pm
- Genuine User: Yes
- IDE Question: c++
- Contact:
- Jarod42
- CodeLite Expert
- Posts: 240
- Joined: Wed Sep 30, 2009 5:54 pm
- Genuine User: Yes
- IDE Question: C++
- Location: France
- Contact:
Re: Can't link to SDL2 (or boost) on Windows
Your are still referencing MSVC somewhere in your project, re-check your build options.
Don't mix g++ libraries with VC libraries.
Don't mix g++ libraries with VC libraries.
-
- CodeLite Curious
- Posts: 2
- Joined: Wed May 07, 2014 3:59 pm
- Genuine User: Yes
- IDE Question: c++
- Contact:
Re: Can't link to SDL2 (or boost) on Windows
I don't even have MSVC on that machine. I alredy tried on 3 machines. Clean CodeLite install, g++ console project and basic main. I tried linking SDL or BOOST libraries and there are no linkking errors but everything is still "unresolbed externals". Interestinly code snipped I posted originally also sometimes (it warries with revuild...) gives this:
C:\WINDOWS\system32\cmd.exe /c "mingw32-make.exe -j 1 -e -f Makefile"
"----------Building project:[ hello2 - Debug ]----------"
mingw32-make.exe[1]: Entering directory 'C:/hello2'
mingw32-make.exe[1]: Leaving directory 'C:/hello2'
mingw32-make.exe[1]: Entering directory 'C:/hello2'
g++ -c "C:/hello2/main.cpp" -g -O0 -Wall -std=c++11 -o ./Debug/main.o -I. -I.
g++ -o ./Debug/hello2 @"hello2.txt" -L. -lSDL2 -lSDL2
./Debug/main.o: In function `SDL_main':
C:/hello2/main.cpp:6: undefined reference to `SDL_Init'
C:/hello2/main.cpp:7: undefined reference to `SDL_Quit'
c:/mingw-4.8.1/bin/../lib/gcc/mingw32/4.8.1/../../../libmingw32.a(main.o):main.c:(.text.startup+0xa7): undefined reference to `WinMain@16'
collect2.exe: error: ld returned 1 exit status
mingw32-make.exe[1]: *** [Debug/hello2] Error 1
mingw32-make.exe: *** [All] Error 2
hello2.mk:79: recipe for target 'Debug/hello2' failed
mingw32-make.exe[1]: Leaving directory 'C:/hello2'
Makefile:4: recipe for target 'All' failed
3 errors, 0 warnings
C:\WINDOWS\system32\cmd.exe /c "mingw32-make.exe -j 1 -e -f Makefile"
"----------Building project:[ hello2 - Debug ]----------"
mingw32-make.exe[1]: Entering directory 'C:/hello2'
mingw32-make.exe[1]: Leaving directory 'C:/hello2'
mingw32-make.exe[1]: Entering directory 'C:/hello2'
g++ -c "C:/hello2/main.cpp" -g -O0 -Wall -std=c++11 -o ./Debug/main.o -I. -I.
g++ -o ./Debug/hello2 @"hello2.txt" -L. -lSDL2 -lSDL2
./Debug/main.o: In function `SDL_main':
C:/hello2/main.cpp:6: undefined reference to `SDL_Init'
C:/hello2/main.cpp:7: undefined reference to `SDL_Quit'
c:/mingw-4.8.1/bin/../lib/gcc/mingw32/4.8.1/../../../libmingw32.a(main.o):main.c:(.text.startup+0xa7): undefined reference to `WinMain@16'
collect2.exe: error: ld returned 1 exit status
mingw32-make.exe[1]: *** [Debug/hello2] Error 1
mingw32-make.exe: *** [All] Error 2
hello2.mk:79: recipe for target 'Debug/hello2' failed
mingw32-make.exe[1]: Leaving directory 'C:/hello2'
Makefile:4: recipe for target 'All' failed
3 errors, 0 warnings
-
- CodeLite Guru
- Posts: 352
- Joined: Sun Nov 29, 2009 7:36 pm
- Genuine User: Yes
- IDE Question: C++
- Contact:
Re: Can't link to SDL2 (or boost) on Windows
Did you add libraries to linker option?hardcoder wrote:I don't even have MSVC on that machine. I alredy tried on 3 machines. Clean CodeLite install, g++ console project and basic main. I tried linking SDL or BOOST libraries and there are no linkking errors but everything is still "unresolbed externals". Interestinly code snipped I posted originally also sometimes (it warries with revuild...) gives this:
C:\WINDOWS\system32\cmd.exe /c "mingw32-make.exe -j 1 -e -f Makefile"
"----------Building project:[ hello2 - Debug ]----------"
mingw32-make.exe[1]: Entering directory 'C:/hello2'
mingw32-make.exe[1]: Leaving directory 'C:/hello2'
mingw32-make.exe[1]: Entering directory 'C:/hello2'
g++ -c "C:/hello2/main.cpp" -g -O0 -Wall -std=c++11 -o ./Debug/main.o -I. -I.
g++ -o ./Debug/hello2 @"hello2.txt" -L. -lSDL2 -lSDL2
./Debug/main.o: In function `SDL_main':
C:/hello2/main.cpp:6: undefined reference to `SDL_Init'
C:/hello2/main.cpp:7: undefined reference to `SDL_Quit'
c:/mingw-4.8.1/bin/../lib/gcc/mingw32/4.8.1/../../../libmingw32.a(main.o):main.c:(.text.startup+0xa7): undefined reference to `WinMain@16'
collect2.exe: error: ld returned 1 exit status
mingw32-make.exe[1]: *** [Debug/hello2] Error 1
mingw32-make.exe: *** [All] Error 2
hello2.mk:79: recipe for target 'Debug/hello2' failed
mingw32-make.exe[1]: Leaving directory 'C:/hello2'
Makefile:4: recipe for target 'All' failed
3 errors, 0 warnings
Add it in linker tab of project settings (right click project)
- Add folder(s) where libs are
- add lib names separated by semi-colon
CodeLite 15.x
CodeLite is awesome, I just Love it!
-
- CodeLite Expert
- Posts: 231
- Joined: Sat Nov 24, 2012 8:04 pm
- Genuine User: Yes
- IDE Question: c++
- Location: Los Angeles
- Contact:
Re: Can't link to SDL2 (or boost) on Windows
can you zip & attach your CL project? your first post shows a number of directives that are clearly for MSVC.
-- p
-- p
main: Debian Jessie x64 + custom wxTrunk