linux - 如何在 clang++ 7.0.1 中识别目标文件的来源?
问题描述
clang 给我一个关于我不认识的目标文件的错误,我找不到它的来源。
ld.lld.exe: error: dords00195.o: invalid data encoding
clang++.exe: error: linker command failed with exit code 1 (use -v to see invocation)
我在我的机器上找不到dords00195.o
任何地方,也找不到类似的名字dords
据称invalid data encoding
意味着链接器正在尝试链接不同目标的库,无论是体系结构还是版本控制。但我无法确定哪些库。我试图添加-v
到 clang++ 命令行,但它没有提供任何额外的信息。我缺少什么来追踪这个奇怪的目标文件?
clang++.exe -v
clang version 7.0.1 (tags/RELEASE_701/final)
Target: x86_64-unknown-linux-gnu
Thread model: posix
我正在使用的命令行是
clang++.exe -o <outputpath> "Lib/lib.A" -L "../Lib2/lib2.A" -L "../Lib3Root/" "-l:libfoo.a" "-l:libbar.so" -Wl,-Map=".\..\Debug.map" --sysroot="sysroot_debian10" -Wl,-build-id=sha1
编译每一个都没有问题。当我尝试链接它们时它失败了。但是试图确定其中 25-50 个库中的哪些库似乎是不可行的。
解决方案
推荐阅读
- html - 我想允许在列表组中选择多个按钮
- r - 将多项式函数应用于 R 中的大型数据帧
- swift - 错误“由于 swift 中未捕获的异常‘NSInvalidArgumentException’而终止应用程序
- javascript - 无法从使用 JQuery Ajax 的函数()返回的 PHP 数组中检索数据
- python - scrapy xpath中的汉字输入
- asp.net - 输入输入字段后浏览器重定向到上一页
- angular - 基本应用程序生产包的常见大小
- mysql - SQL 中的长布尔值 Where
- android - App-Link / Deep link 只能在三星或 M+ 设备上使用一次
- freemarker - Freemarker - 将变量名设置和获取为空字符串