Följande kommandon fungerar bra för mig med en GCC 4.6.1 från november 2011:
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
Så både länkning mot LIB och DLL fungerar.
Du kan få en varning (se Gaffis kommentar). Detta beror på att länken gör suddig länkning åt dig utan att du har specificerat det; normalt skulle den inte ha kunnat länka. Det är dock att vara trevlig och få det att fungera för dig, samtidigt som du varnar dig för saker som händer utan att du har bett om dem. Sättet att undertrycka varningen är att göra suddig länkning explicit:
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
Detta är en Cygwin/RedHat/MinGW-förlängning av länken; dokumenten finns här :
--enable-stdcall-fixup
--disable-stdcall-fixup