※ ChatGPTを利用し、要約された質問です(原文:NTLのtools.hのエラーが直りません)
NTLのtools.hのエラーが直りません
このQ&Aのポイント
NTLのtools.hを使用する際にエラーが出てコンパイルできません。具体的には、巨大整数ライブラリNTLを使用するためにincludeしたZZ.hの中で呼び出されているtools.hがエラーを起こしています。
NTLのtools.hのエラーを解決するためには、いくつかの解決策があります。まず、includeする順番を変えてみることができます。また、NTLのバージョンを最新に更新することでエラーが解消される場合もあります。
開発環境がMFCの場合、プロジェクトの設定で必要なライブラリやヘッダファイルを正しく指定しているか確認することも重要です。さらに、MFC以外の開発環境でも同様のエラーが発生する場合は、環境の設定やパスの指定を見直す必要があります。
他のモジュールに組み込むときにはでてこないのですが、ソケット通信の関数に巨大整数を使おうすると次のようなエラーが出てきてコンパイルできません。
> すべての出力が最新のものです。
1> ClientSocketDlg.cpp
1>C:\MinGW\msys\1.0\home\admin\c\ntl-5.5.2\include\NTL/tools.h(151): error C2062: 型 'int' は不要です。
1>C:\MinGW\msys\1.0\home\admin\c\ntl-5.5.2\include\NTL/tools.h(151): error C2062: 型 'int' は不要です。
1>C:\MinGW\msys\1.0\home\admin\c\ntl-5.5.2\include\NTL/tools.h(151): error C2059: 構文エラー : ')'
1>C:\MinGW\msys\1.0\home\admin\c\ntl-5.5.2\include\NTL/tools.h(151): error C2143: 構文エラー : ';' が '{' の前にありません。
1>C:\MinGW\msys\1.0\home\admin\c\ntl-5.5.2\include\NTL/tools.h(151): error C2447: '{' : 対応する関数ヘッダーがありません (旧形式の仮引数リスト?)
1>C:\MinGW\msys\1.0\home\admin\c\ntl-5.5.2\include\NTL/tools.h(152): error C2062: 型 'int' は不要です。
1>C:\MinGW\msys\1.0\home\admin\c\ntl-5.5.2\include\NTL/tools.h(152): error C2062: 型 'int' は不要です。
1>C:\MinGW\msys\1.0\home\admin\c\ntl-5.5.2\include\NTL/tools.h(152): error C2059: 構文エラー : ')'
1>C:\MinGW\msys\1.0\home\admin\c\ntl-5.5.2\include\NTL/tools.h(152): error C2143: 構文エラー : ';' が '{' の前にありません。
1>C:\MinGW\msys\1.0\home\admin\c\ntl-5.5.2\include\NTL/tools.h(152): error C2447: '{' : 対応する関数ヘッダーがありません (旧形式の仮引数リスト?)
1>C:\MinGW\msys\1.0\home\admin\c\ntl-5.5.2\include\NTL/tools.h(154): error C2062: 型 'long' は不要です。
・・・
NTLというのは巨大整数ライブラリです。
プログラムの先頭に、巨大整数型ZZを用いるために、
#include <NTL/ZZ.h>
というヘッダを付けます。これでエラーはなくなるはずなのですが、ZZ.hの中で呼び出されているtools.hがエラーを起こします。
なにかいい解決法があったら教えて下さい。
ちなみに開発環境はMFCです。
よろしくお願いします。
お礼
とりあえず引っかかる場所が同じだったので、使いそうもない関数をコメントアウトして、コンパイルできるようになりました。 あとで何か問題が起きなければいいのですが・・・ ありがとうございました。