sql >> データベース >  >> RDS >> Mysql

g++を使用したMySQLライブラリへの未定義の参照

    次のコマンドは、2011年11月のGCC4.6.1を使用して正常に機能します。

    g++ my.cpp -I D:\Opt\MySQL5.5\include ^
      D:\Opt\MySQL5.5\lib\libmysql.dll -o myWithDll.exe
    
    g++ my.cpp -I D:\Opt\MySQL5.5\include ^
      -L D:\Opt\MySQL5.5\lib -lmysql -o myWithLib.exe
    

    したがって、LIBとDLLの両方に対するリンクは機能します。

    警告が表示される場合があります(Gaffiのコメントを参照)。これは、リンカが指定されていなくてもファジーリンクを実行するためです。通常は、リンクに失敗します。しかし、それは素晴らしいことであり、それをあなたのために機能させると同時に、あなたがそれらを要求することなく起こっていることについてあなたに警告します。警告を抑制する方法は、ファジーリンクを明示的にすることです:

    g++ -Wl,--enable-stdcall-fixup my.cpp -I D:\Opt\MySQL5.5\include ^
      D:\Opt\MySQL5.5\lib\libmysql.dll -o myWithDll.exe
    
    g++ -Wl,--enable-stdcall-fixup my.cpp -I D:\Opt\MySQL5.5\include ^
      -L D:\Opt\MySQL5.5\lib -lmysql -o myWithLib.exe
    

    これは、リンカーのCygwin / RedHat/MinGW拡張機能です。 ドキュメントはこちら

    --enable-stdcall-fixup
    --disable-stdcall-fixup
    


    1. Postgresl select count(*)時間のかかる

    2. LEFT OUTER JOINは、どのようにして左側のテーブルに存在するよりも多くのレコードを返すことができますか?

    3. Laravel 5.2を使用してMySQLエラーコードとメッセージをキャプチャする方法は?

    4. mysql-connector-java-8.0.12:「マレー半島標準時間」サーバーのタイムゾーンでエラーが発生する