Saya bekerja di QT.
- Dapatkah pustaka statis bergantung pada pustaka statis lain? (Lib statis dibuat dengan menautkan lib statis lain)
- Jika ya, apakah mungkin setelah menautkan ke lib2, lib yang dihasilkan (lib1) tidak akan berisi semua kode lib2?
Dalam Proyek Qt saya, saya menggunakan perpustakaan statis, yang tergantung pada banyak perpustakaan. Saya harus menambahkan semua perpustakaan (dengan semua header mereka dalam proyek saya), walaupun saya hanya perlu satu lib (dan satu .h dari kelas itu) dalam kode saya.
Tolong jelaskan skenarionya.
sumber
Cepat saya dua bit tentang ini: 10 (lelucon mengerikan maaf).
Untuk sedikit berkembang, begini:
1- Perpustakaan statis dapat bergantung pada perpustakaan statis lain, tidak ada atau bahkan perpustakaan dinamis: dalam dua contoh pertama semua kode untuk perpustakaan statis baru akan dimasukkan dalam SLL (Static Link Library) baru, namun, opsi ke-3 , tergantung pada evironment dapat menyebabkan SLL memiliki salah satu dari hasil berikut,
Jadi singkatnya, Anda dapat menautkan pustaka statis ke pustaka statis
2 - jika lib1 dan lib2 keduanya statis, dan lib1 telah dikaitkan dengan lib2, maka semua fungsionalitas lib2 akan tersedia dalam lib1 tanpa perlu memasukkan lib2 karena lib2 akan secara statis dihubungkan dalam lib1 (pikirkan boneka Rusia, dengan lib2 menjadi lebih kecil).
Dalam skenario yang Anda jelaskan harus ada fungsi diskrit yang tersedia di setiap file yang harus Anda sertakan, yang tidak terhubung secara statis, karenanya diperlukan beberapa file, jika tidak, Anda akan memiliki satu file untuk dimasukkan dan Anda akan baik-baik saja.
Ambil berikut ini: Satu file .h dengan referensi ke 6 perpustakaan yang terhubung secara statis: Anda harus menyertakan 7 file dalam proyek Anda untuk mendapatkan fungsionalitas penuh
Satu SLL yang dibuat dari file .h tersebut hanya akan membutuhkan SLL baru untuk dimasukkan untuk menghubungkan pada kompilasi:
Semoga ini bisa membantu dan saya mengerti apa yang Anda minta.
sumber