2016-11-10 95 views
0

我使用的Eclipse IDE對於C項目在Mac電腦上 我安裝usblib sudo brew install libusb 和我的程序Eclipse構建錯誤

#include <stdio.h> 
#include <stdlib.h> 
#include <libusb-1.0/libusb.h> 
int main(void) { 
    libusb_context **libcontext; 
    int status = libusb_init(libcontext); 
    if (status == 0) { 
     printf("success"); 
    } 
} 

的libusb的是 enter image description here

當我建立自己的錯誤

10:17:53 **** Build of configuration Debug for project testusb **** make all Building file: ../src/testusb.c Invoking: Cross GCC Compiler gcc -O0 -g3 -Wall -c -fmessage-length=0 -stdlib=libstdc++ -MMD -MP -MF"src/testusb.d" -MT"src/testusb.o" -o "src/testusb.o" "../src/testusb.c" ../src/testusb.c:16:6: warning: unused variable 'status' [-Wunused-variable] int status = libusb_init(libcontext); ^../src/testusb.c:16:27: warning: variable 'libcontext' is uninitialized when used here [-Wuninitialized] int status = libusb_init(libcontext); ^~~~~~~~~~ ../src/testusb.c:15:29: note: initialize the variable 'libcontext' to silence this warning libusb_context libcontext; ^ = NULL 2 warnings generated. Finished building: ../src/testusb.c Building target: testusb Invoking: Cross GCC Linker gcc -L/opt/local/lib -o "testusb" ./src/testusb.o Undefined symbols for architecture x86_64:
"_libusb_init", referenced from: _main in testusb.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make: *
[testusb] Error 1

如何解決這個問題?

enter image description here

+0

看起來這個庫沒有鏈接。檢查您的項目設置。 – MikeCAT

+0

我添加設置圖片,但我不知道如何設置它。這是我第一次使用c程序 –

+0

請參閱:http://stackoverflow.com/questions/7050482/libusb-undefined-reference-to – Fang

回答

0

感謝@Fang建議Libusb undefined reference to 我解決這個問題。 第一類

pkg-config --list-all 

查詢所有已安裝的庫,檢查的libusb是否安裝, 然後鍵入反對我想使用libusb的

pkg-config --libs libusb 

鏈接

應該有輸出

-lusb 

然後右鍵單擊項目道具erties-> c/C++ Build-> Setting-> Cross GCC Linker雜項,類型-lusb-1.0