sim e sim:)
Se você quiser que seu binário compilado seja executado em várias máquinas, você terá que compilá-lo de uma maneira que corresponda à arquitetura e configuração (biblioteca-sábia) nessas máquinas. isso normalmente significa:
- vincular tudo o que você puder estaticamente
- envie as libs para suas necessidades binárias
- 32 bits são executados em máquinas de 64 bits, mas não o contrário
então, se você não quiser pensar se ele pode ser executado ou se não: compilar e vincular o binário na máquina que você quer que ele seja executado.