【问题标题】:cygwin connot link .a file with maincygwin 不能将 .a 文件与 main 链接
【发布时间】:2013-03-15 11:14:09
【问题描述】:

我正在用 c 编写一个简单的库,我编写了代码并且正在编译。我从我的库中创建了一个存档文件 .a。

为了进行测试,我使用 main 创建了一个测试文件。测试文件正在编译,但每当我尝试引用我创建的 .a 静态库时,都会出现此错误:

/usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../../i686-pc-cygwin/bin/ld: cannot find -llibllist
collect2: ld returned 1 exit status

我认为这意味着它无法按预期找到它。 我正在将 cygwin 与 gcc 和 ld 一起使用。

任何帮助将不胜感激。

【问题讨论】:

  • 我想你已经解决了! ld 找不到您的 libllist.a 文件。下一个问题;为什么不?它存在吗? ld 找对地方了吗? ...

标签: gcc compilation linker cygwin


【解决方案1】:

-l 开关隐式地将lib 前缀和.a 后缀添加到传递给它的名称中,因此如果您的库称为libllist.a,则应使用-lllist 引用它。您还需要确保该库位于库搜索路径中。另请参阅-L 开关。或者你可以只传递完整的库名而不用 -l 切换到 gcc。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-28
    • 1970-01-01
    • 2021-07-27
    • 2019-02-10
    • 1970-01-01
    • 2021-06-12
    • 1970-01-01
    相关资源
    最近更新 更多