【问题标题】:Linker cannot find existing library on Eclipse C on OSX链接器在 OSX 上的 Eclipse C 上找不到现有库
【发布时间】:2014-11-24 10:45:43
【问题描述】:

我有一个自定义库(.a 文件),我想在 Eclipse 中将它添加到我的 C 项目中。 我已尝试将其添加到Project Preferences -> C/C++ General -> Paths and Symbols -> Libraries。这个位置会自动显示在Project Preferences -> C/C++ Build -> Setting -> Tools Settings -> MacOS X C Linker -> Libraries

当我构建我的项目时,我在构建控制台中收到以下错误:

Building target: TestOfLibrary
Invoking: MacOS X C Linker
gcc  -o "TestOfLibrary"  ./src/TestOfLibrary.o   -l"/Users/me/workspaces/test/libs/mylib.a"
ld: library not found for -l/Users/me/workspaces/test/libs/mylib.a
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [TestOfLibrary] Error 1

库路径正确,无拼写错误,文件存在。

可能是什么问题?

【问题讨论】:

    标签: c eclipse macos


    【解决方案1】:

    @Tobber

    在 gcc 命令选项中,您可能需要添加 Library Search Path 标志。假设您正在链接静态库 (mylib.a),以下将是您要运行的命令/标志:

    gcc TestOfLibrary.c -L/Users/me/workspaces/test/libs -lmylib

    搜索的目录包括几个标准系统目录以及您使用 -L 指定的任何 >。

    通常以这种方式找到的文件是库文件——其成员 > 是目标文件的存档文件。

    进一步参考:Options for Linking.

    话虽如此,这是我用来相应设置的 Eclipse 配置:

    C/C++ 构建/设置:http://www.screencast.com/t/vJLsjzGVJ8N

    告诉我进展如何。

    【讨论】:

    • 感谢您的回答。我没有设置了,所以我无法测试你的解决方案。如果还有其他人可以确认此修复,请在此处发表评论,我会接受答案。
    猜你喜欢
    • 2020-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-02
    • 2016-04-21
    • 2012-08-12
    • 2021-11-29
    • 2012-12-15
    相关资源
    最近更新 更多