ld.lld: error: undefined symbol: android::MediaCodec::appendSkyMediaRoute(char const*) >>> referenced by MediaCodec.cpp:858 (frameworks/av/media/libstagefright/MediaCodec.cpp:858) >>> lto.tmp:(android::MediaCodec::MediaCodec(android::sp<android::ALooper> const&, int, unsigned int, std::__1::function<android::sp<android::CodecBase> (android::AString const&, char const*)>, std::__1::function<int (android::AString const&, android::sp<android::MediaCodecInfo>*)>)) clang-12: error: linker command failed with exit code 1 (use -v to see invocation)
时间: 2023-10-09 11:10:26 浏览: 50
这个错误是由于链接器找不到名为"android::MediaCodec::appendSkyMediaRoute(char const*)"的符号所致,该符号在MediaCodec.cpp的第858行被引用。建议检查代码中是否正确包含了相关头文件和库文件,并且确认代码中是否正确定义了该符号。您可以尝试使用"-v"选项查看详细的链接器命令以获得更多信息。
相关问题
ld.lld: error: undefined symbol
报错信息中提到了"ld.lld: error: undefined symbol"。这个错误通常表示在链接过程中找不到某个符号的定义。根据引用中的报错信息,这个错误是由于找不到"android::RefBase::decStrong(void const*) const"这个符号的定义引起的。为了解决这个问题,可以尝试修改编译配置文件(Android.mk)来解决。根据引用的建议,在LOCAL_C_INCLUDES中添加系统核心库(system/core)的路径来解决。具体的修改如下:LOCAL_C_INCLUDES = \ system/core/libnetutils/include \ system/core/libutils/include。另外,根据引用的答案,也可以尝试在Android.mk中添加LOCAL_LDFLAGS := -Wl,--unresolved-symbols=ignore-all来忽略未定义符号的报错。希望这些解决方案对你有帮助。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [Android 编译错误undefined symbol分析与解决](https://blog.csdn.net/k663514387/article/details/107107350)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
如何处理Linux的编译报错——ld.lld: error: undefined symbol: psinfo
当编译Linux程序时出现“ld.lld: error: undefined symbol: psinfo”错误时,可能是因为程序源代码中引用了未定义的符号“psinfo”。这个错误通常是由于在Linux系统上缺少某些依赖库或缺少必要的头文件所导致的。
以下是一些解决这个问题的步骤:
1. 检查程序所需要的依赖库是否已经安装,并且版本是否正确。可以使用命令“ldd <程序文件名>”来查看程序需要的共享库。
2. 检查程序中是否包含必要的头文件。可以使用以下命令查看程序中是否包含了某个头文件:
$ grep <头文件名称> <程序文件名>
3. 如果程序使用的是 Makefile 进行编译,可以在 Makefile 中添加一些链接选项来解决此问题,例如:
LDFLAGS=-lprocps
或者
LDLIBS=-lprocps
4. 如果上述方法无法解决问题,可以尝试更新系统软件包管理器,并重新安装缺失的共享库和头文件。
以上是一些处理 Linux 编译报错 “ld.lld: error: undefined symbol: psinfo”的有效方法。如果这些方法都无法解决问题,可能需要深入了解代码并查找更特定的解决方案。