Я использую 32-битные окна, а мой помощник имеет 64-битные.Мы оба используем gcc (я специально использую tdm-gcc. Мой помощник использует qt, который, насколько я знаю, также использует gcc).Я хотел написать очень простой плагин в форме простого .dll
, чтобы моя помощница могла использовать его из своего приложения.Для этого мне нужно просто скомпилировать мой .dll
для Windows 32 (например, 32-разрядная XP) как .dll
для Windows 64 (например, Win 7 или 10).
Я обнаружил, что -m64
вариант может сработать.Однако, когда я компилирую это, и она связывает это и пытается вызвать мои функции, это показывает, что это приложение с этим плагином .dll
, которое я сделал (на 32-битных окнах с tdm-gcc с этой опцией -m64
), молча вылетает (программазаканчивается и вывод не генерируется).
В чем проблема?Тест, который мы выполняли, был прост, как экспорт функции, которая просто возвращает 232323
, и попытка получить и распечатать ее на стороне приложения - но все еще не работает. Я думаю, что этот 64-битный .dll
неправильный (зависимостьУокер показывает зависимость от kernel32, разве это не 32-битная специфика?)
Должен ли я сделать что-то большее, чем просто поставить -m64
, чтобы мой плагин компилировался в 64-битную и работал там правильно?