誰かがこれをやったことがありますか?
MinGW を使用して、MySQL ライブラリを使用してプログラムをコンパイルしようとしています。関数「rint」が再定義されたというメッセージが表示され続けます。関数が MySQL の config-win.h と標準ライブラリの math.h の両方のファイルにあることは事実ですが、どちらも問題のないライブラリであると想定されています。
しばらく頭を壊した後、これでも試してみましたが、コンパイルされません:
#include <iostream>
#include <my_global.h>
#include <mysql.h>
using namespace std;
int main() {
cout << "Hello World!!!" << endl; // prints Hello World!!!
return 0;
}
そして、これはコンパイルのために私が発行するコマンドと出力です
i586-mingw32msvc-cc -I/usr/include/mysql probando.cpp -w
In file included from /usr/include/mysql/my_global.h:73,
from probando.cpp:10:
/usr/include/mysql/config-win.h: In function ‘double rint(double)’:
/usr/include/mysql/config-win.h:229: error: redefinition of ‘double rint(double)’
/usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/../../../../i586-mingw32msvc/include/math.h:635: error: ‘double rint(double)’ previously defined here
私は、MySQL ライブラリが適切に .a ライブラリに変換された WindowsXP と MinGW32 を使用した Linux (Linux からの出力で、Windows とほぼ同じ) の両方でテストしました。
人々... 私はオプションを使い果たしています. 手がかりはありますか?? 誰かが以前に MySQL と MinGW で働いたことがありますか?? Cygwinで動作しますか??
回答に時間がかかる場合は、事前に感謝します。