Вы не можете конвертировать ваши 32-битные программы в 64-битные с помощью любого программного обеспечения.
Но вам также не нужно конвертировать его, потому что 64-битная архитектура поддерживает все 32-битные программы.
Рассмотрим различия между 32-битными и 64-битными моделями данных. Самым большим отличием между 32-битной и 64-битной средами компиляции является изменение моделей типов данных. Модель типа данных C для 32-разрядных приложений - это модель ILP32, названная так потому, что типы int и long и указатели являются 32-разрядными типами данных. Модель типа данных для 64-битных приложений - это модель данных LP64, названная так потому, что типы long и указатель растут до 64 бит. Остальные целочисленные типы C и типы с плавающей запятой одинаковы в обеих моделях типов данных.
Преобразование 32-битных приложений в 64-битные: проблемы
Основной причиной проблем при преобразовании 32-разрядных приложений в 64-разрядные приложения является изменение размера типа int относительно типов long и pointer. При преобразовании 32-разрядных программ в 64-разрядные программы размер только длинных типов и типов указателей изменяется с 32 до 64 бит; целые числа типа int остаются размером 32 бита. Это может вызвать проблемы с усечением данных при назначении указателей или длинных типов для типов int. Кроме того, проблемы с расширением знака могут возникать при назначении выражений с использованием типов короче, чем размер типа int, беззнаковому длинному или указателю.
Чтобы читать дальше, вот источник.
Источник: http://www.oracle.com/technetwork/server-storage/solaris/ilp32tolp64issues-137107.html
В этой статье рассказывается, как выполнить преобразование с изменениями в коде.
Взято из: https://www.quora.com/How-do-I-convert-a-32-bit-software-into-a-64-bit
Насколько я понимаю, вы должны изменить исходный код в соответствии с вышеуказанными процедурами, изменив типы переменных.
Кроме того, я погуглил ошибку, которая у вас есть, может быть не связана с конверсией.