Linker-Fehler in Codelite mit MinGW-w64
Ich versuche, MinGW-W64 anstelle von MinGW in Codelite. Wenn ich kompilieren einfachen "Hallo Welt" Projekt, es ist alles in Ordnung. Aber wenn ich versuche, link-Bibliotheken, bekomme ich eine seltsame linker-Fehler. Projekt mit genau den gleichen Einstellungen kompiliert, die von MinGW, mit allen Problemen. Es gibt build-Ausgang für beide Varianten:
MinGW GCC 4.8.1
`C:\Windows\system32\cmd.exe /C D:/apps/mingw/bin/mingw32-make.exe -j8 SHELL=cmd.exe -e -f Makefile
"----------Building project:[ code - Debug ]----------"
mingw32-make.exe[1]: Entering directory 'D:/Projects/codelite/code'
codelite-cc D:/apps/mingw/bin/g++.exe -c "D:/Projects/codelite/code/src/main.cpp" -Wfatal-errors -g -O0 -pedantic -W -std=c++11 -Wall -o ./Debug/src_main.cpp.o -I./inc/
D:/apps/mingw/bin/g++.exe -o bin/code @"code.txt" -L./lib/ -lopengl32
mingw32-make.exe[1]: Leaving directory 'D:/Projects/codelite/code'
====0 errors, 0 warnings====`
MinGW-W64 GCC 5.2.0
`C:\Windows\system32\cmd.exe /C D:/apps/mingw-w64/mingw32/bin/mingw32-make.exe -j8 SHELL=cmd.exe -e -f Makefile
"----------Building project:[ code - Debug ]----------"
mingw32-make.exe[1]: Entering directory 'D:/Projects/codelite/code'
codelite-cc D:/apps/mingw-w64/mingw32/bin/g++.exe -c "D:/Projects/codelite/code/src/main.cpp" -Wfatal-errors -g -O0 -pedantic -W -std=c++11 -Wall -o ./Debug/src_main.cpp.o -I./inc/
D:/apps/mingw-w64/mingw32/bin/g++.exe -o bin/code @"code.txt" -L./lib/ -lopengl32
g++.exe: error: @code.txt -L./lib/: No such file or directory
mingw32-make.exe[1]: *** [bin/code] Error 1
code.mk:78: recipe for target 'bin/code' failed
mingw32-make.exe[1]: Leaving directory 'D:/Projects/codelite/code'
mingw32-make.exe: *** [All] Error 2
Makefile:4: recipe for target 'All' failed
====1 errors, 0 warnings====`
InformationsquelleAutor desperius | 2015-11-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dieser sieht aus wie ein Fehler in der toolchain und nicht in CodeLite.
Es ist ein Raum zwischen der
"@code.text"
und-L./lib
und für einige Grundg++
sieht es nicht...Lege ich mein Geld auf die
mingw32-make
tool. Man kann sagen, CodeLite zu verwenden, diemingw32-make.exe
von der version 4.8.1 (was auch geklappt hat):settings->build settings->compilers->[YOUR COMPILER NAME]->Make
Andere Möglichkeit ist das deaktivieren der option, die sagt, CodeLite zu generieren
Makefile
übergibt der Objekt Liste per Datei an den compiler:Settings->Build Settings->compilers->[YOUR COMPILER NAME]->Advanced tab
und deaktivieren Sie die option: pass Objektliste an den linker über die DateiDeine Lösung ist nicht korrekt, weil es die Berechtigungen
InformationsquelleAutor Eran