gpt4 book ai didi

ffmpeg - ' undefined symbol : __stack_chk_guard' in libopenh264. 所以当使用 emcc 构建 FFmpeg 时

转载 作者:行者123 更新时间:2023-12-04 22:48:02 26 4
gpt4 key购买 nike

我正在尝试构建 codecbox.js在 Ubuntu 18.04 上,这涉及使用 emcc 构建 FFmpeg。

在构建过程的某个阶段,FFmpeg 的 configure脚本尝试处理以下代码:

#include <wels/codec_api.h>
#include <stdint.h>
long check_WelsGetCodecVersion(void) { return (long) WelsGetCodecVersion; }
int main(void) {
int ret = 0;
ret |= ((intptr_t)check_WelsGetCodecVersion) & 0xFFFF;
return ret;
}

我得到一个链接器错误:
wasm-ld: error: /.../codecbox.js/build/dist/lib/libopenh264.so: undefined symbol: __stack_chk_guard

好像和 Stack Smashing Protector有关编译器功能。我试图检查我的 libopenh264.so带有 nm 的文件但是 nm告诉我 File format not recognized .但是,使用 grep ,我发现有一个 __stack_chk_guard此文件中的符号。

我试图通过添加 -fno-stack-protector 来重建 libopenh264和 -U_FORTIFY_SOURCECFLAGSLDFLAGS但这并没有改变任何东西:
grep __stack_chk_guard libopenh264.so

仍然回答
Binary file libopenh264.so matches

然后我尝试通过添加相同的选项 -fno-stack-protector 来构建上面显示的代码。和 -U_FORTIFY_SOURCE到 emcc,但它也没有改变任何东西。

知道如何摆脱这个问题吗?

最佳答案

我还没有完全重建 libopenh264。

添加 -fno-stack-protector-U_FORTIFY_SOURCECFLAGS , CXXFLAGSLDFLAGS然后做 make cleanmake解决了问题:libopenh264.so 不再嵌入符号 __stack_chk_guard .

关于ffmpeg - ' undefined symbol : __stack_chk_guard' in libopenh264. 所以当使用 emcc 构建 FFmpeg 时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58854858/

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