Я пытаюсь использовать libusb для своего проекта, но таинственная проблема произошла.
Я скомпилировал исходный код C без ошибок. Это успешно генерировало исполняемый файл C файл в текущий каталог, но когда я выполняю файл a libusb_init: No such file or directory
ошибка появилась как показано в ниже снимка экрана.
Проблема была в моем коде. if
оператор был if(ret <= 0)
и это был конфликт с libusb_init
Так вот именно. Рабочий исходный код записан ниже.
# include<stdio.h>
# include<stdlib.h>
# include<usb.h>
# include<libusb-1.0/libusb.h>
int main(int argc, char *argv[]){
libusb_device **devs;
libusb_context *context = NULL;
size_t list;
size_t i;
int ret;
ret = libusb_init(&context);
if(ret < 0){
perror("libusb_init");
exit(1);
}
list = libusb_get_device_list(context,&devs);
if(list < 0){
fprintf(stderr, "error shuu\n");
libusb_free_device_list(devs,1);
libusb_exit(context);
exit(1);
}
int listp = list;
printf("end %d toxooromj bn\n", listp);
for(i=0;i<list;i++){
//print something
}
libusb_free_device_list(devs,1);
libusb_exit(context);
return 0;
}
Особая благодарность переходит к @Kulfy для сообщения мне, пересматривают о проверке исходный код снова.