Рука кода приложения SDL linaro не может найти-lSDL

Я использую gcc-linaro-arm-linux-gnueabihf-4.8-2014.04_linux для пересечения, компилируют следующий код SDL. usingubuntu-14.04

#include "SDL/SDL.h" 




int main( int argc, char* args[] ) {
//The images 
SDL_Surface* hello = NULL; 
SDL_Surface* screen = NULL;

//Start SDL 
SDL_Init( SDL_INIT_EVERYTHING ); 
//Set up screen
screen = SDL_SetVideoMode( 640, 480, 32, SDL_SWSURFACE ); 
//Load image
hello = SDL_LoadBMP( "Canada-Flag.bmp" );


//Apply image to screen
SDL_BlitSurface( hello, NULL, screen, NULL ); 
//Update Screen SDL_Flip( screen ); 
//Pause 
SDL_Delay( 2000 );




//Free the loaded image 
SDL_FreeSurface( hello ); 
//Quit SDL 
SDL_Quit();
return 0; 
} 

Я компилирую код при помощи следующей команды.

arm-linux-gnueabihf-gcc -o /home/samples/display1 /home/samples/display1.c -lSDL

следующее является ошибкой whai, я получаю его после этого.

/usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/../../../../arm-linux-gnueabihf/bin/ld:  cannot find -lSDL collect2: error: ld returned 1 exit status

Но тот же код, если я компилирую его для главного компьютера с.

gcc -o /home/samples/display1 /home/samples/display1.c -lSDL

это не дает ошибок и работ хорошо.

Можете Вы предлагать.

1
задан 15 July 2014 в 10:48

1 ответ

Вы пропускаете установку пути ссылок, как: -L/path/to/libswithsdl then -lSDL

пример:

arm-none-linux-gnueabi-gcc -I./thirdparty/sdl/include -L./thirdparty/sdl/lib ./src/main.c -o ./out/main

папка lib должна содержать .so файлы, таким образом, Вы просто добавляете к пути поиска, это будет хорошо для соединения.

Необходимо удостовериться, что имели lib на цели, или продвинули его с исполняемым файлом, использовали rpath или установили LD_LIBRARY_PATH для включения того пути поиска

0
ответ дан 24 December 2019 в 04:17

Другие вопросы по тегам:

Похожие вопросы: