strdup() in C++
LinuxでC++で書かれたプログラムのソースを落としてきたので、
$ ./configure $ make # make install
でサクッとインストール…と思ったがmakeできない…
error: 'strdup' was not declared in this scope
とかいうエラーが。ソースファイルを調べた結果インクルード忘れっぽい。
#include <cstring>
を付け足す。どうやらstrdup()をC++で使用するにはcstringが必要らしい。
その他でもちょいちょいインクルードファイルの記述が不足していたみたいで、エラーが出ては
#include <cstdlib> #include <algorithm> #include <string>
などを必要に応じて記述して, makeし直して…という作業を何回か繰り返してやっとコンパイル成功。