gpt4 book ai didi

linux - arm-linux-gnueabihf-ld : unrecognized option '-Wl,--gc-sections'

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:17:40 25 4
gpt4 key购买 nike

我正在使用这个 link 为树莓派交叉编译 Qt我正面临一些问题。在执行 sudo make 时,我得到以下信息:

~/rpi-xtools/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-ld -Wl,--gc-sections -Wl,-O1 -fuse-ld=gold -o ../../../bin/moc .obj/moc.o .obj/preprocessor.o .obj/generator.o .obj/parser.o .obj/token.o .obj/main.o   -L/home/ytan/rpi-xtools/delme/qtbase/lib -lQt5Bootstrap -lpthread 
/home/ytan/rpi-xtools/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-ld: unrecognized option '-Wl,--gc-sections'

我知道 -Wl,--gc-sections 是 arm-linux-gnueabihf-g++ 而不是 arm-linux-gnueabihf-ld 的命令,但我不知道哪个 Makefile我应该深入研究将 arm-linux-gnueabihf-ld 更改为 arm-linux-gnueabihf-g++。

我在拼命寻找你,哦,网络上的神秘居民。

最佳答案

arm-linux-gnueabihf-ld: unrecognized option '-Wl,--gc-sections'

您正在直接调用链接器。链接器获取 --gc-sections,而不是 -Wl,--gc-sections

如果您通过编译器驱动程序进行链接,那么您将使用-Wl,--gc-sections。该配方看起来类似于 arm-linux-gnueabihf-gcc ... -o moc -Wl,--gc-sections

确保您的编译标志包括 -ffunction-sections 和/或 -fdata-sections


I don't know which Makefile I should dive into to change arm-linux-gnueabihf-ld to arm-linux-gnueabihf-g++.

由于链接器被直接调用,如果项目设置正确,那么您只需要:

    CPPFLAGS="-DNDEBUG -g2 -O3 ... " \
CFLAGS="... -ffunction-sections -fdata-sections" \
CXXFLAGS="... -ffunction-sections -fdata-sections" \
LDFLAGS="... --gc-sections" \
./configure <other config options>

如果您有一些灵 active ,那么您应该转换为通过编译器驱动程序进行链接。这是 Clang 和 GCC 人员推荐的,它可以让您轻松地使用 sanitizer (-fsanitize=address-fsanitize=undefined、 ETC)。编译器将为您添加适当的库。否则,您将需要自己弄清楚它们(在某些系统上非常重要,例如 OS X)。

关于linux - arm-linux-gnueabihf-ld : unrecognized option '-Wl,--gc-sections' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48492918/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com