【发布时间】:2019-11-13 12:52:30
【问题描述】:
我正在尝试在 Ubuntu 18.04 上构建 codecbox.js,这涉及使用 emcc 构建 FFmpeg。我一直坚持the misleading libmp3lame >= 3.98.3 not found error。就我而言,libmp3lame 安装没有问题。进一步排查FFmpeg的configure脚本,发现下面的测试文件用emcc编译失败:
#include <lame/lame.h>
#include <stdint.h>
long check_lame_set_VBR_quality(void) { return (long) lame_set_VBR_quality; }
int main(void) {
int ret = 0;
ret |= ((intptr_t)check_lame_set_VBR_quality) & 0xFFFF;
return ret;
}
我收到fatal error: 'lame/lame.h' file not found。
我在/usr/include/lame 中找到了标头,因此我尝试使用emcc -I/usr/include 进行编译。这消除了错误,但引入了许多其他错误。
然后我读到 (for example here) 我不应该使用本地系统标头,当我添加选项 -I/usr/include 时会发生这种情况。
那么,在使用 SDK 中提供的 Emscripten 捆绑系统头文件时,确保 emcc 找到我的库头文件的正确方法是什么?
【问题讨论】:
标签: compilation ubuntu-18.04 emscripten lame emcc