Исполняемый файл x86 полностью поддерживается на хосте x64.Например, любой EXE-файл, который вы компилируете в 32-битном режиме, без проблем будет работать на 32-битном и 64-битном хосте.Если вы не знаете, зачем вам нужен 64-битный исполняемый файл, скорее всего, нет, поэтому достаточно 32-битного исполняемого файла.
Однако с DLL это другой вопрос.Архитектура DLL (32-битная или 64-битная) должна соответствовать исполняемому файлу, в котором будет использоваться DLL.Например, если вы пишете расширение для Windows x64 Explorer, файл explorer.exe будет 64-разрядным, поэтому ваша DLL также должна быть 64-разрядной, в противном случае ее нельзя будет загрузить.
Невозможно объединить две разные архитектуры в одну DLL или EXE в Windows.Поэтому вам понадобятся две библиотеки DLL, если вам потребуется поддержка как 32-битных, так и 64-битных хостов.