Các lệnh sau hoạt động tốt đối với tôi khi sử dụng GCC 4.6.1 từ tháng 11 năm 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
Vì vậy, cả liên kết chống lại LIB và DLL đều hoạt động.
Bạn có thể nhận được một cảnh báo (xem nhận xét của Gaffi). Điều này là do trình liên kết thực hiện liên kết mờ cho bạn mà bạn không chỉ định nó; thông thường, nó sẽ không liên kết được. Tuy nhiên, nó rất hay và phù hợp với bạn, đồng thời cảnh báo bạn về những điều đang xảy ra mà bạn không yêu cầu. Cách để loại bỏ cảnh báo là làm cho liên kết mờ trở nên rõ ràng:
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
Đây là phần mở rộng Cygwin / RedHat / MinGW cho trình liên kết; tài liệu ở đây :
--enable-stdcall-fixup
--disable-stdcall-fixup