cygwin を使用して、makefile を使用して、他の誰かが作成したプログラムをコンパイルしようとしています。多くのエラー メッセージが表示されますが、そのうちの多くはerror: template with C linkage
.
少し調べてみると、問題は に関連しているようextern "C"
です。この行は、ヘッダーの 1 つに含まれているファイルcygwin/usr/include/pthread.hに含まれています。#include < pthread.h >
この行を削除すると、ほとんどのエラー メッセージが消えます。しかし、次の種類のものがいくつか残っています。
/usr/include/pthread.h:67:5: error: previous declaration of ‘int pthread_atfork(void (* )(),void ( *)(), void ( *)())’ with ‘C++’ linkage
/usr/include/sys/unistd.h:136:5: error: conflicts with new declaration with ‘C’ linkage
これを修正する方法を知っている人はいますか?座って、このすべてのことを詳細に学びたいのですが、このプログラムを実行する必要があるまで時間がありません..