[MinGW]Ignorowanie domyślnych libów?
Ostatnio zmodyfikowano 2013-04-13 21:17
skovv Temat założony przez niniejszego użytkownika |
[MinGW]Ignorowanie domyślnych libów? » 2013-04-12 18:22:01 |
|
pekfos |
» 2013-04-12 18:57:17 |
|
skovv Temat założony przez niniejszego użytkownika |
» 2013-04-12 19:04:32 Próbowałem to, tyle że wtedy wywala mi takie cudo: C:\MinGW\msys\1.0\src\mingwrt/../mingw/crt1.c:260: multiple definition of `mainC RTStartup' c:/mingw/bin/../lib/gcc/mingw32/4.6.2/../../../crt2.o:C:\MinGW\msys\1.0\src\ming wrt/../mingw/crt1.c:260: first defined here AppCompiler.exe: In function `WinMainCRTStartup': C:\MinGW\msys\1.0\src\mingwrt/../mingw/crt1.c:274: multiple definition of `WinMa inCRTStartup' c:/mingw/bin/../lib/gcc/mingw32/4.6.2/../../../crt2.o:C:\MinGW\msys\1.0\src\ming wrt/../mingw/crt1.c:274: first defined here AppCompiler.exe: In function `atexit': C:\MinGW\msys\1.0\src\mingwrt/../mingw/crt1.c:287: multiple definition of `atexi t' c:/mingw/bin/../lib/gcc/mingw32/4.6.2/../../../crt2.o:C:\MinGW\msys\1.0\src\ming wrt/../mingw/crt1.c:287: first defined here AppCompiler.exe: In function `onexit': C:\MinGW\msys\1.0\src\mingwrt/../mingw/crt1.c:295: multiple definition of `_onex it' c:/mingw/bin/../lib/gcc/mingw32/4.6.2/../../../crt2.o:C:\MinGW\msys\1.0\src\ming wrt/../mingw/crt1.c:295: first defined here AppCompiler.exe:cygming-crtbegin.c:(.text+0x2bc): multiple definition of `__gcc_ register_frame' c:/mingw/bin/../lib/gcc/mingw32/4.6.2/crtbegin.o:cygming-crtbegin.c:(.text+0x0): first defined here AppCompiler.exe:cygming-crtbegin.c:(.text+0x348): multiple definition of `__gcc_ deregister_frame' c:/mingw/bin/../lib/gcc/mingw32/4.6.2/crtbegin.o:cygming-crtbegin.c:(.text+0x8c) : first defined here AppCompiler.exe:crt1.c:(.bss+0x0): multiple definition of `_argc' c:/mingw/bin/../lib/gcc/mingw32/4.6.2/../../../crt2.o:C:\MinGW\msys\1.0\src\ming wrt/../mingw/crt1.c:189: first defined here AppCompiler.exe:crt1.c:(.bss+0x4): multiple definition of `_argv' c:/mingw/bin/../lib/gcc/mingw32/4.6.2/../../../crt2.o:C:\MinGW\msys\1.0\src\ming wrt/../mingw/crt1.c:189: first defined here AppCompiler.exe:fake:(.idata+0x1d0): multiple definition of `_imp___ZSt4cout' AppCompiler.exe:fake:(.idata+0x1d0): first defined here c:/mingw/bin/../lib/gcc/mingw32/4.6.2/crtbegin.o:cygming-crtbegin.c:(.text+0x85) : undefined reference to `_Jv_RegisterClasses'
C:\Documents and Settings\Skovv\Pulpit\EasyGame IDE\Engine>
Może pierw wyłączyć to std, potem jakoś włączyć tylko bez libc? Ciężka sprawa ;/ |
|
skovv Temat założony przez niniejszego użytkownika |
» 2013-04-12 22:18:23 Ktoś jest w stanie pomóc? :/ |
|
DejaVu |
» 2013-04-13 00:17:42 Ścieżki, które bym sprawdzał: 1) przeprowadzić kompilację z dynamicznym linkowaniem bibliotek standardowych 2) przeprowadzić kompilację ze statycznym linkowaniem bibliotek standardowych 3) błędy w kodzie - multiple definition (bo źle są porobione include/pragma once/ifndef) 4) błędy w kodzie - multiple definition (bo źle są ustawione define'y) 5) błędy w kodzie - bo występują kilka razy definicje tych samych funkcji 6) dysponuję libem nieznanego pochodzenia (tj. nie wiem jaką wersją kompilatora była skompilowana) - skompilować bibliotekę ze źródeł tym samym kompilatorem z tymi samymi ustawieniami (tj. w tym samym trybie linkowania bibliotek standardowych itd).
Dla błędów które podałeś scenariuszy wbrew pozorom może być sporo. Poza tym link, który wkleiłeś nie nawiązuje do błędów wymienionych tylko do tego jak się linkuje bibliotekę. |
|
skovv Temat założony przez niniejszego użytkownika |
» 2013-04-13 00:23:02 Tak, właśnie do tego jak linkować bibliotekę. Aby jej używać potrzebne jest ignorowanie libc.lib. W VC++ Jest to proste, ale jak to wykluczyć w g++? |
|
DejaVu |
» 2013-04-13 00:25:47 Lepiej skompiluj ze źródeł bibliotekę, którą używasz i wszystko będzie działało jak trzeba. Zazwyczaj używanie czyjegoś builda prędzej czy później odbija się czkawką...
Czy wspomniane błędy otrzymujesz tylko i wyłącznie po dolinkowaniu jakiejś 'dziwnej' biblioteki, czy też są one niezależnie od tego czy ją linkujesz czy też nie? |
|
skovv Temat założony przez niniejszego użytkownika |
» 2013-04-13 13:42:15 Korzystam z HGE. Dzieli się o na dwa liby: hge i hgehelp. Jeśli uzywam hge to wszystko gra, a jeśli dolinkuję hgehelp( czyli spriteye itp itd.. to co najważniejsze ) to wyskakuje ten błąd :| |
|
« 1 » 2 |