eclipse CDT /usr/bin/ld: 找不到 -l<libname>

eclipse CDT /usr/bin/ld: cannot find -l<libname>

这是我的代码:

#include <stdio.h>
#include <stdlib.h>
#include <libimobiledevice/libimobiledevice.h>
#include <libimobiledevice/lockdown.h>
#include <libimobiledevice/installation_proxy.h>
#include <libimobiledevice/notification_proxy.h>
#include <libimobiledevice/afc.h>

int main(void) {
    idevice_t phone = NULL;
    char *udid = NULL;
    idevice_new(&phone, udid);
    puts("!!!hello!!!"); /* prints !!!Hello World!!! */
    return EXIT_SUCCESS;
}

我安装了 libimobiledevice 库,这是

#ls /usr/lib/i386-linux-gnu | grep libimob
libimobiledevice.a
libimobiledevice.so
libimobiledevice.so.4
libimobiledevice.so.4.0.1

但是为什么在配置 CDT 中使用像图片这样的共享库 CDT 错误?

/usr/bin/ld: cannot find -llibimobiledevice

在库下添加 imobiledevice 而不是 libimobiledevice。当您使用 -lx 时,链接器会搜索 libx.so。在您的情况下,链接器搜索了它找不到的 liblibimobiledevice.so

在 Mars Eclipse 中,要添加第三方库,只能从 C++/Build->Setting->Cross G++ Link-> Miscellaneous.

我浪费了两个小时通过其他方法添加库,但这个方法对我有用。