Strona 1 z 1

C++ doinstalowywanie bibliotek

: 18 kwietnia 2009, 15:26
autor: janisz
Problem polega na tym, że potrzebuję skompilować program w SDL, bez globalnej instalacji tej biblioteki. Dopisałem biblioteki do zmiennych:

Kod: Zaznacz cały

export INCLUDE=$PWD/include
export LD_LIBRARY_PATH=$PWD/lib
Ale przy kompilacji dostaje coś takiego

Kod: Zaznacz cały

$ g++ zatacka_sdl.cpp -lSDL
/usr/bin/ld: cannot find -lSDL
collect2: ld returned 1 exit status
Co jeszcze powinienem zrobić?

: 18 kwietnia 2009, 16:45
autor: ponton
A czy czasem to nie powinno być LD_LIBRABRY_PATH? (z podkreślnikami)

Możesz spróbować linkować z flagą -L.

: 18 kwietnia 2009, 20:23
autor: janisz
Jest z podkreśleniem. A jak dam ,,-LSDL'' to wyskakuje jeszcze więcej błędów mniej więcej takich

Kod: Zaznacz cały

/tmp/ccJUak4y.o(.text+0x79a): In function `main':
: undefined reference to `SDL_Quit'
przy każdym wywołaniu funkcji SDLa. A na koniec jeszcze to samo co wcześniej:

Kod: Zaznacz cały

collect2: ld returned 1 exit status

: 18 kwietnia 2009, 20:43
autor: ponton
Opcja -L to katalog, w którym linker ma szukać bibliotek:

Kod: Zaznacz cały

g++ -L/moja/sciezka/do/sdl -lSDL (...)

: 18 kwietnia 2009, 21:08
autor: janisz
Przepraszam. Ale to i tak nic nie zmienia. Mysle, że kluczowy jest ten błąd:

Kod: Zaznacz cały

/usr/bin/ld: cannot find -lSDL
collect2: ld returned 1 exit status
ale kompletnie nie wiem co z tym zrobić

: 18 kwietnia 2009, 21:11
autor: ponton
Sprawdź, czy na pewno plik libSDL.a jest w tamtym katalogu. Nic więcej nie mogę pomóc, bo mam za mało informacji.