2013-07-23 8 views
7

मैं जी ++/ubuntu12.04 पर जीसीसी के साथ संकलन और यह है "ठीक है" लेकिन मैं रास्पबेरी पाई उपकरण गुरुगंभीर त्रुटि: libudev.h: ऐसी कोई फ़ाइल या निर्देशिका

toolsmaster 
CC := /home/Desktop/Simple_Linux_Driver/tools-master/arm-bcm2708/arm-bcm2708-linux-gnueabi/bin/arm-bcm2708-linux-gnueabi-g++ 
GCC := /home/Desktop/Simple_Linux_Driver/tools-master/arm-bcm2708/arm-bcm2708-linux-gnueabi/bin/arm-bcm2708-linux-gnueabi-gcc 

मैं था का उपयोग कर संकलन पार नहीं कर सकते

-sudo apt-get install libusb-1.0-0-dev 
-sudo apt-get install libudev-dev 

रास्पबेरी पाई कर्नेल संस्करण 3.2.27 (izzit मैं "कैसे" सक्षम करें और फिर पुनर्निर्माण की जरूरत है): निम्न आइटम स्थापित करें?

उत्तर

1

इसका काम करता है !!! मुझे रास्पबेरी पाई क्रॉस टूलमास्टर के अंदर संकलन और सीपी। एचएसओ को पार करने की आवश्यकता है। नीचे मैं कोशिश करता हूं: अगर मुझे कुछ भी याद आती है तो मुझे बताएं धन्यवाद ^^ libusb नवीनतम संस्करण tar फ़ाइल डाउनलोड करें।

संस्करण 1.0.8

$ TOOLCHAIN=/opt/FriendlyArm/toolchain/4.4.3/arm-none-linux-gnueabi 
$ PATH=$PATH:$TOOLCHAIN/bin 
$ CC='arm-none-linux-gnueabi-gcc -march=armv4t -mtune=arm920t' 
$ CROSS_COMPILE=arm-none-linux-gnueabi- 
$ export CC CROSS_COMPILE 
$ tar xfv libusb-1.0.8.tar 
$ cd libusb-1.0.8 
$ ./configure --host arm-linux 
$ make 
$ cd libusb 
$ cp libusb.h $TOOLCHAIN/arm-none-linux-gnueabi/include/ 
$ cp libusb.h $TOOLCHAIN/arm-none-linux-gnueabi/sysroot/include/ 
$ cp .libs/libusb-1.0.so $TOOLCHAIN/arm-none-linux-gnueabi/lib/ 
$ cp .libs/libusb-1.0.so $TOOLCHAIN/arm-none-linux-gnueabi/sysroot/lib/ 

Toolchain निर्धारित है। लेखन कार्यक्रमों के लिए: वह पुस्तकालय का उपयोग करने के लिए # शामिल करें। संकलन का उपयोग कर निम्न:

$arm-linux-g++ myprog.cpp -o myapp -lusb-1.0 

नोट: पर MISSOUT नहीं करते "-lusb-1.0"

0

यदि आप ऊपर करते हैं तो यह पुस्तकालयों को स्थापित करेगा जो x86 के लिए है। उपर्युक्त पुस्तकालय रास्पबेरी क्रॉस-टूल श्रृंखला में होना चाहिए। यदि यह मौजूद नहीं है तो आपको हाथ आर्किटेक्चर के लिए इसे क्रॉस-संकलित करने की आवश्यकता है। तब तो निम्न cmd

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path to library

पहले export आदेश का उपयोग उपकरण निर्यात से निर्यात करने के लिए किया है।

export PATH=$PATH:/path to tool chain

1 ऊपर करने से पहले की कोशिश निम्नलिखित

जैसे निर्यात पथ = $ पथ:/घर/डेस्कटॉप/Simple_Linux_Driver/उपकरण मास्टर/हाथ-bcm2708/हाथ-bcm2708-linux-gnueabi/बिन/

यदि आप इसे प्रत्येक टर्मिनल में हर बार निर्यात करना चाहते हैं।

vi .bashrc

फ़ाइल के अंत में सिर्फ आदेश नीचे जोड़ें।

export PATH=/path to tool chain bin:$PATH

, उदा, export PATH=/opt/Arm_tool_chain/bin:$PATH

+0

पहले क्या आप compile.2 करने की कोशिश कर रहे हैं) जहां 86 या रास्पबेरी बोर्ड में संकलन कर रहे हैं? –

+0

मैं जीथ्यूब (https://github.com/signal11/hidapi) से प्राप्त एक यूएसबी ड्राइवर कोड संकलित करने की कोशिश कर रहा हूं। मैं कोड संकलित करने के लिए x86 का उपयोग कर रहा हूँ। – WWJ

+0

क्या आप अपना मेकफ़ाइल साझा कर सकते हैं। ताकि मैं यह पता लगा सकूं कि आप वास्तव में –

संबंधित मुद्दे