Да, это технически возможно. Немного плагин для бывшего работодателя, но вот реализация именно этого: http://antixlabs.com/products/antixgamedevelopmentkit/. Процесс упаковки, грубо говоря, C / C ++ -> (компилятор) -> LLVM -> (бэкэнд) -> сделанный на заказ байт-код -> почтовый файл. Это не зависит от платформы. Как только он появится на устройстве пользователя, «player» преобразует сделанный на заказ байт-код -> (переводчик для этого устройства) -> собственный файл эльфа -> (загрузчик / компоновщик) -> исправленный код.
Если реальный вопрос заключается в том, «существует ли какой-либо такой стандартный отраслевой промежуточный формат, который широко поддерживается на нескольких платформах и подходит для универсального использования, например, байт-код Java?» тогда ответ «нет».
Что касается причины, я бы сказал, что это потому, что нет ни одной организации, которая имеет достаточное влияние на программистов на C ++, и нет реальной необходимости развертывания приложений на C ++ в стиле Java. Sun изобрела Java и библиотеку GUI за один раз, представила их программистам и не представила большого распространения профилей до более позднего периода.
C ++ даже не имеет стандартного графического интерфейса, а среды C ++ гораздо более фрагментированы, чем Java. Как вы говорите разработчику приложений для Windows, разработчикам мобильных телефонов, разработчикам смарт-карт и разработчикам бэкэндов на фондовой бирже, что им необходимо отказаться от существующего набора инструментов в пользу независимого от платформы механизма развертывания C ++? Они не И это еще до того, как вы приступите к написанию ОС и драйверов устройств на C или C ++, смешанных со сборкой. Просто невозможно создать стандартную среду для поддержки всех из них.