导航:首页 > 操作系统 > includepathlinux

includepathlinux

发布时间:2022-10-31 11:56:13

A. 如何在linux下利用Libusb与HID USB设备通信

由于公司的产品,导致我在Linux下写usb通信的代码出现了许多的问题,最后发现这些设备只能通过控制传输来操作设备,所以后面的问题就迎刃而解了。现在贴上当时在QT下写的代码,以防日后再碰到此类问题的时候翻查。
还有在QT下使用libusb库的时候一定要在(项目名.pro)文件加上:

[cpp] view plain
INCLUDEPATH += /usr/include/libusb-1.0
LIBS += -L"/usr/lib/x86_64-linux-gnu" -lusb-1.0
否则程序无法找到该库的路径。

[cpp] view plain
libusb_device **devs;
libusb_device_handle *dev_handle;
libusb_context *ctx=NULL;
struct libusb_device_descriptor desc;
int r;
ssize_t cnt;
r=libusb_init(&ctx);
if(r<0)
{
//printf("init error");
QMessageBox::about(this,"haha","initialerror");
return ;
}
libusb_set_debug(ctx,3);
//cnt=libusb_get_device_list(ctx,&devs);
dev_handle=libusb_open_device_with_vid_pid(ctx,VID,PID);
if(dev_handle==NULL)
QMessageBox::about(this,"haha","open my dev error");
else
QMessageBox::about(this,"haha","open my dev success");
//libusb_free_device_list(devs,1);
if(libusb_kernel_driver_active(dev_handle,0)==1)
{
QMessageBox::about(this,"haha","kernel driver active");
if(libusb_detach_kernel_driver(dev_handle,0)==0)
QMessageBox::about(this,"haha","kernel driver detached");
}
r=libusb_claim_interface(dev_handle,0);
if(r<0)
{
QMessageBox::about(this,"haha","cannot claim interface");
return ;
}
QMessageBox::about(this,"haha","claimed interface");
// start use this usb
unsigned char dataOut[0x30]={0};
dataOut[0]=0x00;
dataOut[1]=0x02;
dataOut[2]=0x08;
dataOut[3]=0x00;
dataOut[4]=0x02;
dataOut[5]=0x00;
dataOut[6]=0xb2;
dataOut[7]=0x30;
dataOut[8]=dataOut[2]^dataOut[3]^dataOut[4]^dataOut[5]^dataOut[6]^dataOut[7];
//r=libusb_interrupt_transfer(dev_handle,LIBUSB_ENDPOINT_OUT, dataOut,9, &actual_length, 0);
//r=libusb_bulk_transfer(dev_handle,LIBUSB_ENDPOINT_OUT,dataOut,9,&actual_length,5000);
//此设备必须用控制传输
r=libusb_control_transfer(dev_handle, 0x21, 0x09, 0x0300, 0x00, dataOut+1, 0x20, 1000);
unsigned char dataRead[0x30]={0};
r=libusb_control_transfer(dev_handle, 0xa1, 0x01, 0x0300, 0x00, dataRead, 0x20, 1000);
if(r<0)
{
QMessageBox::about(this,"haha","transfer data error");
}else
{
QMessageBox::about(this,"haha","transfer data success");
}
//release everything
r=libusb_release_interface(dev_handle,0);
libusb_attach_kernel_driver(dev_handle,0);
libusb_close(dev_handle);
libusb_exit(ctx);

B. 如何用qt在linux中编写并使用动态链接库

先写好实现动态链接库的libmy.cpp文件和libmy.h文件,如下:

// libmy.cpp

#include"libmy.h"

#include<iostream>

using namespace std;
MyLib::MyLib()
{
}

MyLib::~MyLib()
{
}

void MyLib::hello()
{
cout << "hello world~!" << endl;
}

// libmy.h文件

#ifndef LIBMY_H
#define LIBMY_H
class MyLib

{
public:
MyLib();
~MyLib();
void hello();
};
#endif /*LIBMY_H*/

然后写好pro文件,如下:

TEMPLATE = lib
TARGET =DllTest

HEADERS += libmy.h
SOURCES += libmy.cpp

保存关闭,文件名命名为MyDll.pro
在Shell里执行qmake MyDll.pro,在没有错误的情况下,然后执行make ,可以看到生成了几个后缀名为so的文件,如下图:

C. mac版visual+studio怎么用

摘要 c_cpp_properties.json

D. Qt Linux 下 <QWidget> <QSystemTrayIcon> <QLabel> 等头文件包含时 No such file or directory

5.0.1我倒没装,我用的是4.8
不过,很明显这个路径配置出问题了,include path配置不对,或者你的文件权限不对,以至于你甚至没有权限去读取这些头文件,
第一个情况:

你是用Qt Creater工具写代码的吗?
可以试一下这样:
在打开的项目中,编辑 标签下,左侧栏右键对应的工程,添加新文件,选择C++,C++头文件,
将Qt的include目录及其所有子目录添加一遍

确实比较麻烦,不过你还可以修改项目的pro文件,前提是你要知道这个文件是干嘛用的,每个项表示什么意思,然后再linux下,用ls -l对include 所有子目录列出重定向到一个临时文件,然后对这个文件编辑一下,在复制过去,各种办法吧,看你怎么用了

第二个情况:
权限不够,这就得用include目录的所有者,对include目录及其所有子目录的所有文件chmod a+r -R include

这些东西一般安装之后基本的变量都应该配置好的,至于为什么,估计安装不对吧

除了includepath,其他一些变量也要相应改,确实难搞

搞不定的话,建议你重新装个4.x的吧

E. linux下QT4自带的sqlite驱动不可用该怎么解决

我告诉你个方法,绝对管用,你这种情况是没有安装mysql的驱动,提示只有sqlite的驱动。在命令行下安装libqt4-sql-mysql(sudoapt-getinstalllibqt4-sql-mysql),然后将/usr/lib/qt4/plugins/sqldrivers/libqsqlmysql.so拷贝到你的QtSDKsqldrivers目录下,我的是在/QtSDK/Desktop/Qt/481/gcc/plugins/sqldrivers,里面同时还有qsqlite.so,所以刚才会说只能找到qsqlite

F. 跪求大神指导:linux下使用gsoap生成C++代码访问WebService编译出错

找人来帮助你解决问题,这将是帮助吧!

阅读全文

与includepathlinux相关的资料

热点内容
编译压缩 浏览:648
工厂程序员翻车 浏览:31
郑州程序员一个月工资 浏览:660
证券公司招聘程序员 浏览:879
java高级编程jdk7 浏览:442
java加密狗 浏览:951
lisp编程工具 浏览:643
加密货币软钱包排行 浏览:833
exe文件反编译源码工具下载 浏览:40
python6bit灰度图 浏览:736
如何用java编译东西 浏览:825
php多语言包管理方案 浏览:254
python程序运行时间自动控制 浏览:385
java编译主函数快捷键 浏览:787
atom编辑器python 浏览:182
安卓优学派如何恢复出厂设置 浏览:730
程序员女巫 浏览:784
冷冻冷藏压缩机 浏览:854
吉利红包H5编译教程 浏览:635
ftpsocket编程 浏览:692