Mam między innymi taki kawałek kodu:
x += dest->clip.x;
y += dest->clip.y;
if (use_off) {
x += le16toh(sprite->x);
y += le16toh(sprite->y);
}
Kompiluje się to bez problemu (no, może daje tylko mały warrning: implicit declaration of function 'le16toh') natomiast podczas linkowania dostaję:
"undefined reference to `_le16toh'"
Poczytałem w sieci na temat tego błędu i znalazłem fajne wytłumaczenie problemu i rozwiązanie:
https://stackoverflow.com/questions/532 … n-makefile
Ale żadno z zaproponowanych 3 rozwiązań nie pomogło.
Komenda którą komiluję źródło:
m68k-atari-mint-gcc -m68020-60 -std=gnu99 -DHAVE_CONFIG_H -I. -I/home/jury/sdl_stuff/include/SDL -I/home/jury/sdl_stuff/include -D_DEFAULT_SOURCE=1 -D_REENTRANT -I/home/jury/sdl_stuff/include/SDL -I/home/jury/sdl_stuff/include -g -O2 -c -o src/sdl-video.o src/sdl-video.c
Jak to ugryźć żeby się zlinkowało prawidłowo?
Bo już kurde jestem bliski zainstalowania środowiska gcc natywnie na Falconie i tam powywalałbym te wszystkie makra (nie jest ich dużo, ale parę jest) związane z konwersją indianów to powinno mi się natywnie (raczej) prawidłowo zlinkować. Ale to zostawiam jako ostateczność, tym bardziej, że kompilacja większych rzeczy nawet na 100MHz to małe wyzwanie.