SDK do Linux'a

0

Witam

Założyłem kolejny temat, który pośrednio jest związany z moim poprzednim tematem, ale będzie łatwiej znaleźć jeśli kogoś to samo interesuje.
Więc moje pytanie brzmi: gdzie można pobrać SDK do Linux'a, w którym są pliki .a i .so i jakieś nagłówki albo opis funkcji, które są w tych bibliotekach?

0

Erm, zainstaluj Linuksa (może być w VMce), odpal menedżer pakietów i doinstaluj co trzeba. Kompilator C/ C++ jest instalowany zwykle przy instalacji systemu.

Ewentualnie zainstaluj Cygwina, ale to i tak gorszy pomysł niż zabawa wprost pod samym Linuksem.

0

Mam Linux'a Ubuntu i instalowałem jakiś pakiet z kompilatorami, ale gdzie te biblioteki są później bo ja piszę bibliotekę do GUI i chodzi mi o bezpośrednio pliki .a i .so? :)

0

Wszystko jedno gdzie są, powinno działać domyślnie - ścieżki powinny być poustawiane.

1

Odpal komendę ldd z binarką jako parametrem, np:

$ ldd sortingalgorithmsbenchmark 
	linux-vdso.so.1 =>  (0x00007fff171fe000)
	libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f9706b68000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f970686c000)
	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f9706655000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f9706295000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f9706e88000)

To pokazuje tylko pliki .so. Pliki .a to chyba tylko przy kompilacji są potrzebne.

Z tym, że te pliki .so które ci się wypiszą mają kolejne zależności, a tamte pliki kolejne, itd więc ręcznie raczej ciężko będzie zrobić paczkę która zawiera te pliki .so które potrzeba do odpalenia programu na dowolnym Linuksie. Lepiej po prostu napisać użytkownikowi coś w stylu: mój program wymaga biblioteki liblolekfiołek w wersji 2.1 lub wyższej.

Na upartego możesz jeszcze szukać plików za pomocą locate, np:

$ locate libstdc++.a
/usr/lib/gcc/x86_64-linux-gnu/4.6/libstdc++.a
/usr/lib/gcc/x86_64-linux-gnu/4.8/libstdc++.a

Przy czym locate korzysta z bazy danych uaktualnianej przez updatedb.

1 użytkowników online, w tym zalogowanych: 0, gości: 1