strdup() in C++

LinuxC++で書かれたプログラムのソースを落としてきたので、

$ ./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し直して…という作業を何回か繰り返してやっとコンパイル成功。

C++は書いたことも無いのに、コンパイルだけで心が折れそうに…。