Двоичные объектные файлы почти всегда привязаны к конкретной платформе. Как уже говорили другие, форматы объектных файлов, наиболее близкие к независимости от платформы, вполне могут быть сборками .NET / Mono и байт-кодом Java.
Тем не менее, если вы хотите реальную независимость от платформы, вам лучше всего использовать исходный код (если это вариант). Я знаю, что это не то, что вы спрашиваете, но учтите, что в наши дни вы сможете скомпилировать программу C ++ на большинстве машин (например, с помощью коллекции компиляторов GNU), если ваш код C ++ сам по себе не зависит от платформы.