"string.h"が含まれていても、strlcpyとstrlcatは暗黙的に宣言されます。

strlcpy関数またはstrlcatCファイルを呼び出そうとすると、Gccでエラーが発生します。

error : implicit declaration of strlcpy
error : implicit declaration of strlcat

これらの関数とマニュアルページはどのライブラリにありますか?含めましたが、string.h何も変わりません。私はLinux Mint 17.2とgcc 4.8.4を実行しています。

ベストアンサー1

Ubuntu、Mint、および関連バージョンでは、以下でstrlcpy利用できます。strlcatlibbsd-devパック。走る

sudo apt-get install libbsd-dev

これにより、ライブラリ、ヘッダファイル、およびマニュアルページがインストールされます。

Cコードの関数を使用するには、次の行を追加してください。

#include <bsd/string.h>

ファイルに接続し-lbsd、より移植性があるように、コマンドライン$(pkg-config --libs libbsd)gcc接続してライブラリに接続します。

おすすめ記事