Beim Bauen von FluidSynth mit MinGw wurde ich mal wieder an die wichtigste Lektion beim Compilen und Linken erinnert. Immer darauf achten, dass die komplette Toolchain aus entweder 32bit oder 64bit Versionen besteht. Niemals mischen. Die Toolchain umfasst dabei unter anderem Compiler, Linker und mögliche Libraries. Vergisst man leider all zu schnell, wenn man längere Zeit nichts mehr in diese Richtung unternommen hat. Den Fehler erkennt man nicht immer sofort, da er sich häufig dadurch äußert, dass der Linker nicht die Libraries findet, obwohl sie ganz klar vorhanden sind. Während man sich dann einen Wolf nach dem vermeintlichen Fehlen des Include/Lib-Pfades absucht, ist in Wahrheit der kompilierte Code in einer anderen Version als die Libraries und somit korrekterweise inkompatibel.

Notiz an mich selbst: Bloß nicht nochmal vergessen.

Advertisements