/usr/bin/ld: 找不到 -ltsf4g
时间: 2023-08-11 14:06:21 浏览: 241
引用\[1\]:error: /Users/pakoito/Rust/RustyAndroid/app/src/main/jni/librust.a: no archive symbol table (run ranlib) 。 引用\[2\]:我编译.o的时候加上-fPIC就好了 #!/bin/bash list="ky_ai_api ky_ai_parse_json ky_ai_socket" set -- `echo $list` for((i=1;i<4;i++)) do echo $1 gcc -c $1.cpp -o $1.o -fPIC -I/root/.ngrest/ngrest-build/deploy/include/ ar rcs -o lib$1.a $1.o shift done 。 引用\[3\]:warning: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: warning for library: liblib.a the table of contents is empty (no object file members in the library define global symbols) 。 问题:/usr/bin/ld: 找不到 -ltsf4g
回答: 根据提供的引用内容,这些是与编译和链接相关的错误和警告信息。根据引用\[1\],错误信息指出缺少存档符号表,建议运行ranlib命令。引用\[2\]中的脚本展示了在编译.o文件时使用-fPIC选项的示例。这个选项用于生成位置无关代码,以便在链接时能够正确处理符号。引用\[3\]中的警告信息指出库文件的目录表为空,没有定义全局符号的对象文件成员。至于问题中的"/usr/bin/ld: 找不到 -ltsf4g",这是链接器(ld)无法找到名为"libtsf4g"的库文件。可能需要检查库文件是否存在,并确保正确设置了库文件的路径。
#### 引用[.reference_title]
- *1* *3* [Building static lib for Android: no archive symbol table](https://blog.csdn.net/weixin_34835735/article/details/117863969)[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^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [C/C++链接静态库报错:dangerous relocation: unsupported relocation(-fPIC)](https://blog.csdn.net/Dontla/article/details/128282961)[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^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文