Можно создать дубликат:
Linking 32-bit library to 64-bit programМожно ли смешивать 32-битный и 64-битный код?
Одна из библиотек программа использует, которая должна быть статически связаны между собой, это 32-разрядное один. Если он скомпилирован с 64-разрядным компилятором, он ломается, главным образом потому, что типы переменных имеют разную длину (длиннее в два раза длиннее, в основном). Исходный код библиотеки предоставляется. Сама программа работает на 32 и 64 бит. Возможно ли скомпилировать библиотеку как 32-битную и статически связать ее с 64-битным приложением?