Building the QMYSQL plugin on Windows using MinGW – QtCentreWiki – av og til dukker internett opp med akkurat det du trenger akkurat når du trenger det:)
Tag: Qt
Har du sett denne før?
Du vet at du har driverne, eksempelprogrammene fungerer, men når programmet ditt skal kjøres, da finnes ingenting. Sånn er det det går når man oppretter en QSqlDatabase før man oppretter en QApplication/QCoreApplication. Dette er andre gangen det skjer meg, og for å unngå hodekløing neste gang det skjer så blogger jeg om det her.
Hvis du noensinne skriver noe som bruker QPluginLoader, husk å sette følgende opsjoner i release-builden:
Property Pages->C++->Preprocessor:
- QT_NO_DEBUG;
- NDEBUG;
- _WINDOWS;
- UNICODE;
- WIN32;
- QT_LARGEFILE_SUPPORT;
- QT_EDITION=QT_EDITION_DESKTOP;
- QT_DLL;
- QT_CORE_LIB;
- QT_GUI_LIB;
- QT_THREAD_SUPPORT
Hvis ikke må alle DLL’er du laster ha en av følgende substrenger i pathen sin: debug|release
Så vet du det – og slipper å rive av deg håret i fortvilelse og miste timevis på leting etter en forklaring på hvorfor DLL’ene dine blir lastet når du kjører programmet fra prosjektmappen, men ikke når du kopierer innholdet annenstedshen.
Jeg er usikker på hvilken opsjon som gjør at vi slipper dette – det får bli en annen post.
Når man sitter og programmerer er det èn ting man aldri kan få nok av: dokumentasjon – og ikke minst: presis dokumentasjon. Nå har jeg mistet flere timer fordi det viser seg at det er nødvendig å inkludere QtGui i interface-filer for plugins. Hadde det enda stått i dokumentasjonen, men nei… ikke litt engang. Det er kjekt når ting funker, men det er grenser for grief man skal ha med å få det til å funke. Forresten: hvis du noensinne trenger noe som lingner på ldd i windows – kjør depends.exe (følger med VS2003). Hvem hadde vel trodd at Jone skulle sitte og programmere greier i Microsoft Visual Studio:P