Code::blocks: file not recognized


#1

Witam,

mam problem: chcę przenieść moją grę na linuxa, w związku z tym wgrywam biblioteki do mojego linuxowego Code::blocks'a.

Niestety gdy kompiluję projekt wyskakuje mi tak oto bląd:

Czy ktoś orientuje się o co chodzi? Wydaje mi się że to przez to, że zalinkowałem biblioteki (czego wcześniej nie było i działalo).

Z góry dziękuję i pozdrawiam.


(Razi) #2

Wyczyść projekt (Clean) i potem przebuduj. Chce użyć starego .o, który był skompilowany dla windowsa, ale nie pasuje mu format.


#3

Nadal są jakieś problemy:

Nie może znaleźć tych plików... Tylko po co mu one są? Skąd je wziąć?


(Razi) #4

Po co? Bo pewnie ich używasz, albo użyłeś złego szablonu projektu.

Musisz zainstalować te paczki, włącz menedżer pakietów i zainstaluj takie pakiet freeglut3-dev. Jego zależności spowodują instalację wszystkiego innego co do OpenGLa wymagane.

Z projektu musisz wywalić jeszcze -lgdi32 i -lwinmm, bo to windowsowe biblioteki których na Linuksie nie ma. O ile tego pierwszego dałeś przez przypadek, albo po prostu jest przez GLUTa wymagany, to z tego drugiego możesz używać jakieś funkcje. Wtedy musisz je zakomentować, albo zastąpić czymś innym.

Jak się nie mylę, to nazewnictwo pozostałych jest też trochę inne:

-lGLU -lGL -lglut

Najlepiej jakbyś miał 2 "osobne" projekty z tym samym folderem źródeł, tzn. na Linuksie tworzysz nowy projekt, ale folder ze źródłami jest linkiem do folderu z projektu którego używasz na windowsie. Nie pamiętam jak tam wyglądała struktura projektu w C::B