現在、ここから pthread-win32をビルドしようとしています(バージョン 2.7.0)。プロジェクトをチェックアウトしNMAKE VC-static
、VS2015 開発者コマンド プロンプトから実行して結果を表示できます。ビルド時にエラーが発生しました:
エラー C2011: 'timespec': 'struct' 型の再定義
HAVE_STRUCT_TIMESPEC
プリプロセッサ ディレクティブ( source )を追加することで解決すると思います。
修正の正しい適用を示すために、最初に警告を黙らせることにしました。特に警告:
警告 C4996: '_ftime64': この関数または変数は安全でない可能性があります。代わりに _ftime64_s の使用を検討してください。非推奨を無効にするには、_CRT_SECURE_NO_WARNINGS を使用します。詳細については、オンライン ヘルプを参照してください。
これは、定義するように明示的に指示します_CRT_SECURE_NO_WARNINGS
。MSによると、コマンドラインで-D
orを使用してプリプロセッサ ディレクティブを定義する必要があります。/D
次のようにして、警告を黙らせることに成功しました。
set cl= /D_CRT_SECURE_NO_WARNINGS
nmake VC-static
しかし、エラーを修正するために同じことをすると:
set cl=/DHAVE_STRUCT_TIMESPEC /D_CRT_SECURE_NO_WARNINGS // or just
set cl=/DHAVE_STRUCT_TIMESPEC
//and
nmake VC-static
解決しません。
この修正は、さまざまなライブラリのいくつかのソース、pthread バグ修正レポートの両方に記載されています。ここでは、私の状況でこの修正をどのように適用できますか?