首页 > 解决方案 > override_version 中的内部错误,位于 ../../gold/resolve.cc:61?

问题描述

我正在尝试在 yocto-project 中使用 CFLAGS 和 LDFLAGS 编译 qtbase 配方。我在 qtbase 配方中添加了以下几行。

CFLAGS 和 CPPFLAGS 用于添加代码检测以查找代码覆盖率。

CFLAGS += "-fprofile-arcs -ftest-coverage"
CPPFLAGS += "-fprofile-arcs -ftest-coverage"

LDFLAGS 用于链接。

LDFLAGS += "-lgcov --coverage"

请找到日志文件的链接:https ://drive.google.com/open?id=1tmVd7C2IHgOUZKdId-

Xl0zFRfKwjYPut 错误片段

/scratch/work/sysdk/dksys/build/tmp/work/core2-64-mel-linux/qtbase/5.6.3+gitAUTOINC+e6f8b072d2-r0/recipe-sysroot-native/usr/bin/x86_64-mel-linux/../../libexec/x86_64-mel-linux/gcc/x86_64-mel-linux/7.3.0/ld.gold: internal error in override_version, at ../../gold/resolve.cc:61<br>
collect2: error: ld returned 1 exit status<br>
Makefile.eglfs_device_lib:146: recipe for target '../../../../lib/libQt5EglDeviceIntegration.so.5.6.3' failed<br>
make[5]:  [../../../../lib/libQt5EglDeviceIntegration.so.5.6.3] Error 1
make[5]: Leaving directory '/scratch/work/sysdk/dksys/build/tmp/work/core2-64-mel-linux/qtbase/5.6.3+gitAUTOINC+e6f8b072d2-r0/build/src/plugins/platforms/eglfs'
Makefile:42: recipe for target 'sub-eglfs_device_lib-pro-make_first-ordered' failed
make[4]: *** [sub-eglfs_device_lib-pro-make_first-ordered] Error 2
make[4]: Leaving directory '/scratch/work/sysdk/dksys/build/tmp/work/core2-64-mel-linux/qtbase/5.6.3+gitAUTOINC+e6f8b072d2-r0/build/src/plugins/platforms/eglfs'
Makefile:96: recipe for target 'sub-eglfs-make_first' failed
make[3]:[sub-eglfs-make_first] Error 2
make[3]:Waiting for unfinished jobs....

标签: qtgccyoctogcovcflags

解决方案


经过大量研究,我能够找到我的问题的答案。我必须在配方中添加以下行以删除黄金链接器。

QT_CONFIG_FLAGS += " -no-use-gold-linker"

推荐阅读