Gcc melempar kesalahan ketika saya mencoba memanggil fungsi strlcpy
atau strlcat
dalam file C:
error : implicit declaration of strlcpy
error : implicit declaration of strlcat
Di perpustakaan apa saya dapat menemukan fungsi-fungsi itu, dan halaman manualnya? Saya termasuk string.h
tetapi tidak mengubah apa pun. Saya menjalankan Linux Mint 17.2 dan gcc 4.8.4
man strlcpy
akan menampilkan halaman manual mereka. Jika Anda mengalami masalah dengan kode Anda, Anda perlu memposting kode , memposting baris perintah kompiler , dan melakukannya di Stack Overflow karena pertanyaan pemrograman di luar topik di sini.strlcpy()
dan yang serupa tersedia dalam libc pada sebagian besar varian UNIX. Linux merupakan pengecualian karena mantan pengelola glibc tidak menyukai mereka meskipun ia tidak dapat menjelaskan mengapa atau menunjukkan konsep yang lebih baik. Perangkat lunak yang port ke Linux biasanya mengimplementasikan versi sendiri dari fungsi-fungsi ini.Jawaban:
Di Ubuntu, Mint, dan kerabat,
strlcpy
danstrlcat
tersedia dalamlibbsd-dev
paket . LariIni akan menginstal perpustakaan, file header, dan halaman manual.
Untuk menggunakan fungsi dari kode C, tambahkan baris
ke file Anda, dan tambahkan
-lbsd
, atau lebih portabel$(pkg-config --libs libbsd)
, kegcc
baris perintah Anda untuk menautkan perpustakaan.sumber