Saya ingin menambahkan perpustakaan saya sendiri untuk digunakan dalam kompilasi c, tetapi tidak benar-benar tahu di mana ubuntu menyimpannya.
10.10
command-line
compiling
c
david25
sumber
sumber
Jawaban:
Berdasarkan komentar Anda untuk pertanyaan Anda, saya pikir apa yang sebenarnya Anda tanyakan adalah "Bagaimana cara saya menginstal perpustakaan khusus yang saya tulis dan di mana saya harus meletakkannya?"
Secara umum, hal-hal yang dibuat secara lokal untuk orang lain pada mesin untuk pengguna dimasukkan ke pohon / usr / lokal. File header harus masuk ke / usr / local / include. Pustaka yang dikompilasi harus masuk ke / usr / local / lib. File .c bukan bagian dari perpustakaan, ini adalah bagian dari sumber dan bukan sesuatu yang biasanya tidak diinstal untuk penggunaan pengguna akhir. Anda akan memerlukan akses root untuk meletakkan file di salah satu dari lokasi ini.
Untuk membangun perpustakaan, Anda harus membangun terlebih dahulu memutuskan apakah Anda ingin perpustakaan statis atau dinamis (dibagi). Informasi lebih lanjut tentang membuat perpustakaan bersama dapat ditemukan di bagian 3.4, Membuat Perpustakaan Bersama di http://www.linux.org/docs/ldp/howto/Program-Library-HOWTO/share-libraries.html . (Mereka juga memiliki rekomendasi tentang di mana harus meletakkan barang - kebanyakan pengembang akan memiliki pendapat atau tiga :-))
sumber
Bergantung pada perpustakaan, ubuntu menyimpan perpustakaannya terutama di tiga lokasi
Berikut ini dari Standar Sistem Hierarki File
/ Lib
/ usr / lib
/ usr / local / lib berisi pustaka lokal yaitu satu spesifik untuk sistem ini, tetapi saya tidak dapat menemukan referensi ke / usr / local / lib di FHS, hanya berisi penjelasan untuk / usr / local.
sumber
Ubuntu mengikuti Filesystem Hierarchy Standard ( http://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard ), pustaka aplikasi reguler harus disimpan di bawah / usr / lib.
Harap dicatat bahwa mengembangkan / mengelola perpustakaan bukanlah hal yang sepele, Anda harus membaca beberapa dokumentasi yang lebih rinci, di sini adalah tutorial yang bagus: http://www.yolinux.com/TUTORIALS/LibraryArchives-StaticAndDynamic.html
sumber
Anda harus memberi tahu kompilator, di mana ia dapat menemukan perpustakaan Anda. Diasumsikan, jalur ke perpustakaan Anda adalah "/path/to/lib/libfoo.a", Anda dapat mengkompilasi dan menautkan program Anda "hello.c" seperti ini:
Ini bukan khusus untuk Ubuntu, sebenarnya semua C-compiler yang saya tahu mendukung flag-flag itu.
sumber
Di Ubuntu mereka ditemukan di
/usr/include
.sumber
/usr/include
. Binari sebenarnya untuk perpustakaan tidak disimpan di sana. Header dapat dianggap sebagai bagian dari perpustakaan, tetapi harus diinstal secara terpisah, dan digunakan untuk mengkompilasi program yang menggunakan perpustakaan. Setelah sebuah program yang menggunakan pustaka dikompilasi, ia tidak perlu atau menggunakan file header lagi.