Когда вы кросс-компилируете, это означает, что вы создаете двоичный файл, который будет работать на архитектуре, отличной от той, на которой вы его скомпилировали. В вашем случае это означает, что вы использовали свой компьютер i686 для создания двоичного файла, который должен работать на архитектуре geode. Ваше приложение находит библиотеки Qt на вашем компьютере, и поэтому оно работает. Однако, когда Qt собрал ваше приложение, оно преобразовало некоторый код в специфичный для геоданных, таким образом, оно не «действительно» работает.
Если вы попробуете это с приложением, отличным от Qt, вы получите сообщение об ошибке при попытке запустить это.
Чтобы протестировать ваше кросс-скомпилированное приложение, вам нужно будет запустить его в Qemu, который поддерживает geode arch. OpenEmebedded обычно предоставляет цель Qemu. Проверьте доступные цели для geode, там должна быть одна для Qemu. После этого вы можете включить свое приложение в состав создаваемого образа Qemu или скопировать его поверх себя в образ Qemu, а затем запустить его.