Skocz do zawartości
Masz już aplikację Sharegon?

Odkryj wszystkie możliwości. Dowiedz się więcej

Sharegon.pl

Zainstaluj aplikację Sharegon i korzystaj z powiadomień push oraz licznika nowych aktywności bezpośrednio z ekranu głównego.

Aby zainstalować tę aplikację na iOS i iPadOS.
  1. Tap the Share icon in Safari
  2. Przewiń menu i stuknij Dodaj do ekranu początkowego.
  3. Stuknij Dodaj w prawym górnym rogu.
Zainstaluj aplikację Sharegon na Androidzie
  1. Otwórz Sklep Google Play na swoim smarfonie.
  2. Wyszukaj „Sharegon” w pasku wyszukiwania.
  3. Stuknij „Zainstaluj”, aby pobrać aplikację.

Problem z linkowaniem bibliotek wymaganych do skompilowania game

Nieaktywny

Featured Replies

Opublikowano

Witam

Podczas kompilacji game mam taki komunikat:

compile FSM.cpp
compile MarkConvert.cpp
In file included from MarkConvert.cpp:1:
stdafx.h:9:10: fatal error: ../../libthecore/include/stdafx.h: No such file or directory
    9 | #include "../../libthecore/include/stdafx.h"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
gmake: *** [Makefile:129: OBJDIR/MarkConvert.o] Error 1

A podczas kompilacji db:

gmake: *** No rule to make target '../../libthecore/include/stdafx.h', needed by 'OBJDIR/Config.o'.  Stop.

Pliki Makefile w folderze db oraz game mają poprawną ścieżkę.

Makefile

Makefile

Rozwiązane przez KoMaR1911

Przejdź do rozwiązania
Opublikowano
  • Autor
1 godzinę temu, mrvns napisał(a):

stdafx.h w game nie może pobrać pliku stdafx w libthecore, tam szukaj problemów, a nie w Makefile.

w pliku stdafx.h mam:

#include "../../libthecore/include/stdafx.h"
#include "../../common/singleton.h"
#include "../../common/utils.h"
#include "../../common/service.h"

a plik mam:

/usr/src/server/libthecore/include/

Opublikowano
  • Autor

Udało się prawię dotrzeć do końca, lecz jednak pojawił się błąd, chyba ostatni.

linking ../../../bin/_game_...
/usr/local/bin/ld: cannot find -lthecore: No such file or directory
/usr/local/bin/ld: cannot find -lpoly: No such file or directory
/usr/local/bin/ld: cannot find -llua: No such file or directory
/usr/local/bin/ld: cannot find -llualib: No such file or directory
/usr/local/bin/ld: cannot find -lsql: No such file or directory
/usr/local/bin/ld: cannot find -lgame: No such file or directory
collect2: error: ld returned 1 exit status
gmake: *** [Makefile:133: ../../../bin/_game_] Error 1

Folder "Bin" znajduje się: /usr/src/server/bin

Opublikowano

Czy masz skompilowane wymagane biblioteki do skompilowania game? Wejdź do katalogu libthecore/lib, libgame/lib itd. i zobacz, czy znajdują się tam skompilowane biblioteki to powinny być pliki .a libpoly.a, libgame.a, libthecore.a itd. jeśli ich nie ma to musisz je wcześniej skompilować wszystkie, aby podczas kompilacji gry poprawnie utworzyło ci binarke. Z komunikatu wynika, że ich tam nie ma więc wnioskuję że po prostu ich nie skompilowałeś.

Opublikowano
  • Programista

Masz błąd w Makefile:
LIBDIR += -L../../libthecore/lib -L../../libsql -L../../libpoly -L../../libgame/lib
zamień na

LIBDIR += -L../../libthecore/lib -L../../libsql/lib -L../../libpoly/lib -L../../libgame/lib

W OBU PLIKACH MAKEFILE NIE MASZ /lib !!! i to jest bledem
potem zrób
cd /usr/src/server/libpoly
gmake clean
gmake

cd /usr/src/server/libsql

gmake clean
gmake

cd /usr/src/server/game/src

gmake clean
gmake

Powinno śmigać :)

Opublikowano
  • Autor
1 godzinę temu, KoMaR1911 napisał(a):

Masz błąd w Makefile:
LIBDIR += -L../../libthecore/lib -L../../libsql -L../../libpoly -L../../libgame/lib
zamień na

LIBDIR += -L../../libthecore/lib -L../../libsql/lib -L../../libpoly/lib -L../../libgame/lib

W OBU PLIKACH MAKEFILE NIE MASZ /lib !!! i to jest bledem
potem zrób
cd /usr/src/server/libpoly
gmake clean
gmake

cd /usr/src/server/libsql

gmake clean
gmake

cd /usr/src/server/game/src

gmake clean
gmake

Powinno śmigać :)

Raczej nie to jest problem co napisałeś ponieważ libthecore by działało, a dalej sypie błędem.

Opublikowano
  • Programista
  • Rozwiązanie
2 godziny temu, benio101 napisał(a):

Raczej nie to jest problem co napisałeś ponieważ libthecore by działało, a dalej sypie błędem.

Wejdź w /usr/src/server/game/src/Makefile

Nadpisz cala sekcje LIBDIR

LIBDIR += -L/usr/src/server/libthecore/lib
LIBDIR += -L/usr/src/server/libpoly/lib
LIBDIR += -L/usr/src/server/libsql/lib
LIBDIR += -L/usr/src/server/libgame/lib
LIBDIR += -L/usr/src/server/liblua/lib
LIBDIR += -L../../extern/lib/

cd /usr/src/server/libpoly && gmake clean && gmake
cd /usr/src/server/libsql && gmake clean && gmake
cd /usr/src/server/game/src/ && gmake clean && gmake

Spróbuj to zrobić i pokaz jakie błędy masz, jeżeli masz.

Opublikowano
  • Programista
13 minut temu, Sevence napisał(a):

I w czym konkretnie był problem?

Złe foldery libek I projekt uwalony bo trzeba było każdy lib osobno kompilować.

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.

Konto

Nawigacja

Skonfiguruj powiadomienia push w przeglądarce.

Chrome (Android)
  1. Stuknij ikonę kłódki obok paska adresu.
  2. Wybierz Uprawnienia → Powiadomienia.
  3. Dostosuj swoje preferencje.
Chrome (Desktop)
  1. Kliknij ikonę kłódki na pasku adresu.
  2. Wybierz Ustawienia witryny.
  3. Znajdź Powiadomienia i dostosuj swoje preferencje.