我正在使用具有Vortex86-SG
CPU 的嵌入式 PC,Ubuntu 10.04 w/ kernel 2.6.34.10-vortex86-sg
。不幸的是,我们无法编译新内核,因为我们没有任何源代码,甚至没有驱动程序或补丁。
我必须使用OpenFrameworks运行一个用 C++ 编写的小项目。该框架编译正确的每个脚本在of_v0071_linux_release/scripts/linux/ubuntu/install_*.sh
.
我注意到为了针对Vortex86/Ubuntu 10.04进行编译,必须在每个config.make
文件中添加以下选项:
USER_CFLAGS = -march=i486
USER_LDFLAGS = -lGLEW
实际上,它编译没有错误,但生成的二进制文件根本没有启动:
root@jb:~/openframeworks/of_v0071_linux_release/apps/myApps/emptyExample/bin# ./emptyExample
Illegal instruction
root@jb:~/openframeworks/of_v0071_linux_release/apps/myApps/emptyExample/bin# echo $?
132
Strace 最后几行:
munmap(0xb77c3000, 4096) = 0
rt_sigprocmask(SIG_BLOCK, [PIPE], NULL, 8) = 0
--- SIGILL (Illegal instruction) @ 0 (0) ---
+++ killed by SIGILL +++
Illegal instruction
root@jb:~/openframeworks/of_v0071_linux_release/apps/myApps/emptyExample/bin#
有什么想法可以解决这个问题吗?