10 SeattleでPCREライブラリ(regcomp、regfree、regexec等)を利用すると64ビットリンカエラーが発生する
問題
pcreposi.hヘッダーファイルをインクルードし、regcomp、regfree、regexecといったPCREライブラリを利用したソースコードをbcc64でビルドすると、以下のようなリンカエラーが発生します。
[ilink64 エラー] Error: Unresolved external 'regcomp' referenced from C:\..(中略)..\WIN64\Unit1.O
[ilink64 エラー] Error: Unresolved external 'regfree' referenced from C:\..(中略)..\WIN64\Unit1.O
[ilink64 エラー] Error: Unresolved external 'regexec' referenced from C:\..(中略)..\WIN64\Unit1.O
解決
PCREライブラリは、bcc32との互換性のために現バージョンでも付属していますが、C++11を新しくサポートしている10 Seattle以降のbcc64では原則、これらのライブラリはサポートしておりません。
そのため10 Seattle以降では、C++11標準の正規表現関数(std::regex)を利用してください。