【发布时间】:2017-03-21 18:49:37
【问题描述】:
我正在尝试在我的 Fedora VM 上交叉编译 Valgrind,以使其在定制的嵌入式 Linux 设备上运行(使用带有 ARM Cortex M4 CPU 的 Kinetis KL2x MCU 运行 Yacto)。我有一个正确配置的 QT IDE,可以交叉编译并将 QT 项目部署到设备。我想知道交叉编译非 QT 应用程序的最佳途径是什么。我尝试使用现有项目(Valgrind 源代码@@http://valgrind.org/downloads/valgrind-3.12.0.tar.bz2)创建一个新项目(在 QT>New Project>Import Project>Import Existing Project),但我一直收到此错误:
17:20:46: Running steps for project valgrind...
17:20:46: Starting: "/usr/bin/make" all
make: *** No rule to make target `all'. Stop.
17:20:46: The process "/usr/bin/make" exited with code 2.
Error while building/deploying project valgrind (kit: ----)
When executing step "Make"
17:20:46: Elapsed time: 00:00.
我不知道如何解决它。是否可以仅使用交叉编译器本身(arm-poky-linux-gnueabi-g++)编译 Valgrind?我最好将makefile更改为使用交叉编译器而不是gcc,然后使用scp将文件发送到我的设备(如果是这样,我使用许多不同的makefile中的哪一个?)?还是我错过了更好的方法?该系统没有任何自己的包管理工具或编译器。任何帮助/输入将不胜感激。
交叉编译环境设置后构建配方时出错:
[----@localhost valgrind]$ source /opt/poky/default/environment-setup-cortexa8hf-vfp-neon-poky-linux-gnueabi
[----@localhost valgrind]$ bitbake -c build valgrind_3.12.0.bb
Traceback (most recent call last):
File "/opt/poky/1.8.2/sysroots/i686-pokysdk-linux/usr/lib/python2.7/site.py", line 553, in <module>
main()
File "/opt/poky/1.8.2/sysroots/i686-pokysdk-linux/usr/lib/python2.7/site.py", line 535, in main
known_paths = addusersitepackages(known_paths)
File "/opt/poky/1.8.2/sysroots/i686-pokysdk-linux/usr/lib/python2.7/site.py", line 266, in addusersitepackages
user_site = getusersitepackages()
File "/opt/poky/1.8.2/sysroots/i686-pokysdk-linux/usr/lib/python2.7/site.py", line 241, in getusersitepackages
user_base = getuserbase() # this will also set USER_BASE
File "/opt/poky/1.8.2/sysroots/i686-pokysdk-linux/usr/lib/python2.7/site.py", line 230, in getuserbase
from sysconfig import get_config_var
File "/opt/poky/1.8.2/sysroots/i686-pokysdk-linux/usr/lib/python2.7/sysconfig.py", line 10, in <module>
'stdlib': '{base}/'+sys.lib+'/python{py_version_short}',
AttributeError: 'module' object has no attribute 'lib'
【问题讨论】:
标签: qt makefile compiler-errors cross-compiling valgrind