Xcode链接器错误:ld:找不到-twsapi的库

 82年的老代码 发布于 2023-01-08 19:11

我已经使用Makefile为i386体系结构编译和安装了一个库.该库位于,/usr/local/lib/twsapi标题位于/usr/local/include/twsapi.

要在我libtwsapi.a在Build Settings> Link Binary With Libraries下添加的另一个项目中使用该库,并将其添加/usr/local/includeHEADER_SEARCH_PATH变量中.

ld: library not found for -twsapi即使我引用了库,在链接部分期间构建过程也会失败并显示错误消息.如果我删除了二进制库的链接,我会收到很多错误Undefined symbols for architecture i386:,这很有意义,因为在这种情况下找不到库.这证实了图书馆确实首先被发现.

有什么想法发生了什么?传递给链接器的参数如下所示:

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ \
  -arch i386 \
  -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk \
  -L/Users/morten/Library/Developer/Xcode/DerivedData/test_project-gwzyzroxzbyejngtpizlynumphvo/Build/Products/Debug \
  -L/usr/local/include \
  -L/usr/local/include/twsapi \
  -F/Users/morten/Library/Developer/Xcode/DerivedData/test_project-gwzyzroxzbyejngtpizlynumphvo/Build/Products/Debug \
  -F/usr/local/lib \
  -filelist /Users/morten/Library/Developer/Xcode/DerivedData/test_project-gwzyzroxzbyejngtpizlynumphvo/Build/Intermediates/test_project.build/Debug/test_project.build/Objects-normal/i386/test_project.LinkFileList \
  -mmacosx-version-min=10.9 \
  -stdlib=libc++ \
  -Xlinker \
  -dependency_info \
  -Xlinker /Users/morten/Library/Developer/Xcode/DerivedData/test_project-gwzyzroxzbyejngtpizlynumphvo/Build/Intermediates/test_project.build/Debug/test_project.build/Objects-normal/i386/test_project_dependency_info.dat \
  -o /Users/morten/Library/Developer/Xcode/DerivedData/test_project-gwzyzroxzbyejngtpizlynumphvo/Build/Products/Debug/test_project

rhashimoto.. 5

找不到图书馆.你的论点"首先确实找到了库"是错误的,因为链接器永远不会到达列出未定义符号的位置 - 它无法找到所有指定的库时停止.

您的问题出现在链接器的这些参数中,这些参数指定了搜索库的其他路径:

-L/usr/local/include -L/usr/local/include/twsapi

请注意,您指定的是/ usr/local/include的链接路径,而不是/ usr/local/lib,这是您的库所在的位置.

您需要将/ usr/local/lib添加到Xcode中的库搜索路径以进行链接.标题搜索路径用于编译.从日志中可以看出,两者都有条目,但"库搜索路径"条目不正确.

1 个回答
  • 找不到图书馆.你的论点"首先确实找到了库"是错误的,因为链接器永远不会到达列出未定义符号的位置 - 它无法找到所有指定的库时停止.

    您的问题出现在链接器的这些参数中,这些参数指定了搜索库的其他路径:

    -L/usr/local/include -L/usr/local/include/twsapi
    

    请注意,您指定的是/ usr/local/include的链接路径,而不是/ usr/local/lib,这是您的库所在的位置.

    您需要将/ usr/local/lib添加到Xcode中的库搜索路径以进行链接.标题搜索路径用于编译.从日志中可以看出,两者都有条目,但"库搜索路径"条目不正确.

    2023-01-08 19:14 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有