我 运行 libimobiledevice 入门代码,有错吗?

I run the libimobiledevice getting started code, got err?

我用gcc编译代码

#include <stdio.h>
#include <stdlib.h>
#include <libimobiledevice/lockdown.h>
#include <libimobiledevice/libimobiledevice.h>
#include <plist/plist.h>

int main()
{
    static char *udid = NULL;

    /* Device Handle */
    idevice_t device = NULL;

    /* Try to connect to first USB device */
    if (idevice_new_with_options(&device, NULL, IDEVICE_LOOKUP_USBMUX) != IDEVICE_E_SUCCESS) {
        printf("ERROR: No device found!\n");
        return -1;
    }

    /* Retrieve the udid of the connected device */
    if (idevice_get_udid(device, &udid) != IDEVICE_E_SUCCESS) {
    printf("ERROR: Unable to get the device UDID.\n");
    idevice_free(device);
    return -1;
    }

    /* Outputs device identifier */
    printf("Connected with UDID: %s\n", udid);

    /* Cleanup */
    idevice_free(device);
    free(udid);
}

得到

未定义的体系结构符号x86_64: “_idevice_free”,引用自: _main 在 1-af7b2e.o “_idevice_get_udid”,引用自: _main 在 1-af7b2e.o “_idevice_new_with_options”,引用自: _main 在 1-af7b2e.o ld:未找到体系结构的符号 x86_64

试了gcc -lstdc++ hello.c -o hello还是编译不了

您需要包含 libimobiledevice 库,试试这个:

gcc hello.c -o hello -limobiledevice-1.0