我 运行 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
我用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