Re: Libraries: libusb question

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



*Sorry, didn't realize it was off-topic. I won't continue this, on this forum
after this one.

This was the error generated:

There were 9 "reference"  errors like this:
14|undefined reference to `libusb_init@4'|*

*This was the main.cpp file:*

#include <iostream>
//#include "lusb0_usb.h"
#include "libusb.h"

using namespace std;
void printdev(libusb_device *dev); //prototype of the function

int main() {

    libusb_device **devs; //pointer to pointer of device, used to retrieve a
list of devices
    libusb_context *ctx = NULL; //a libusb session
    int r; //for return values
    ssize_t cnt; //holding number of devices in list
    r = libusb_init(&ctx); //initialize a library session
    if(r < 0) {
        cout<<"Init Error "<<r&lt;&lt;endl; //there was an error
    return 1;
    }
    libusb_set_debug(ctx, 3); //set verbosity level to 3, as suggested in
the documentation
    cnt = libusb_get_device_list(ctx, &amp;devs); //get the list of devices
    if(cnt &lt; 0) {
        cout&lt;&lt;&quot;Get Device Error&quot;&lt;&lt;endl; //there was an
error
    }
    cout&lt;&lt;cnt&lt;&lt;&quot; Devices in list.&quot;&lt;&lt;endl;
//print total number of usb devices
    ssize_t i; //for iterating through the list
    for(i = 0; i &lt; cnt; i++) {
        printdev(devs[i]); //print specs of this device
    }
    libusb_free_device_list(devs, 1); //free the list, unref the devices in
it
    libusb_exit(ctx); //close the session
    return 0;
}

    void printdev(libusb_device *dev) {

        libusb_device_descriptor desc;

        int r = libusb_get_device_descriptor(dev, &amp;desc);

        if (r &lt; 0) {

        cout&lt;&lt;&quot;failed to get device descriptor&quot;&lt;&lt;endl;

        return;

    }

    cout&lt;&lt;&quot;Number of possible configurations:
&quot;&lt;&lt;(int)desc.bNumConfigurations&lt;&lt;&quot;  &quot;;

    cout&lt;&lt;&quot;Device Class:
&quot;&lt;&lt;(int)desc.bDeviceClass&lt;&lt;&quot;  &quot;;

    cout&lt;&lt;&quot;VendorID: &quot;&lt;&lt;desc.idVendor&lt;&lt;&quot; 
&quot;;

    cout&lt;&lt;&quot;ProductID: &quot;&lt;&lt;desc.idProduct&lt;&lt;endl;

    libusb_config_descriptor *config;

    libusb_get_config_descriptor(dev, 0, &amp;config);

    cout&lt;&lt;&quot;Interfaces:
&quot;&lt;&lt;(int)config->bNumInterfaces<<" ||| ";

    const libusb_interface *inter;

    const libusb_interface_descriptor *interdesc;

    const libusb_endpoint_descriptor *epdesc;

    for(int i=0; i<(int)config->bNumInterfaces; i++) {

        inter = &config->interface[i];

        cout<<"Number of alternate settings: "<<inter->num_altsetting<<" |
";

        for(int j=0; j<inter->num_altsetting; j++) {

            interdesc = &inter->altsetting[j];

            cout<<"Interface Number: "<<(int)interdesc->bInterfaceNumber<<"
| ";

            cout<<"Number of endpoints: "<<(int)interdesc->bNumEndpoints<<"
| ";

            for(int k=0; k<(int)interdesc->bNumEndpoints; k++) {

                epdesc = &interdesc->endpoint[k];

                cout<<"Descriptor Type: "<<(int)epdesc->bDescriptorType<<" |
";

                cout<<"EP Address: "<<(int)epdesc->bEndpointAddress<<" | ";

            }

        }

    }

    cout<<endl<<endl<<endl;

    libusb_free_config_descriptor(config);

    }




--
View this message in context: http://gcc.1065356.n8.nabble.com/Libraries-libusb-question-tp1386241p1386336.html
Sent from the gcc - Help mailing list archive at Nabble.com.



[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux