我正在使用Ubuntu 14.04上的Qt Creator创建一个GUI来控制硬件.我有一个类来控制一个摄像头(camera.h)和一个类来控制连接到USB RS232串行转换器(light.h)的光源.此类的两个头文件包括制造商提供的标题:uEye.h以及ftdi2xx.h相机和串行转换器.如果我单独使用它们,两个库都可以正常工作 但是当我尝试将它们包含在我的内容中时,mainwindow.h我会收到以下错误消息(大约14个):
/home/g/Desktop/release/WinTypes.h:14: error: conflicting declaration
'typedef unsigned int BOOL'
typedef unsigned int BOOL;
/usr/include/uEye.h:1570: error: 'BOOL' has a previous declaration as
'typedef int32_t BOOL'
typedef int32_t BOOL;
Run Code Online (Sandbox Code Playgroud)
等等.我从其他帖子中了解到,在C++中似乎没有简单的解决方法.有任何建议如何解决(除了使用不同的硬件或有两个单独的程序)?
更新:
最后我找到了一个解决方法,虽然它仍然不是我的问题的确切答案.我做了以下:我去了ftdi2xx.h文件并评论了导致的麻烦#include WinTypes.h.在light.h我uEye.h首先包括(我猜这个标题包括某种WinTypes.h).然后我需要添加一些在包含之前typedef没有隐藏的遗漏声明.它有效,但它不是一个非常干净和漂亮的解决方案,因为它涉及搞乱第三方的东西. uEye.hftdi2xx.h
我有信号矢量,看起来像这样:
a < - c(1,1,1,1,1,0,0,0,0,1,1,0,0,0,1,0,1,0,1,0,1,0,0 ,0,0,0,0,0,0,0,0,0,1,1,1)
我将计算1在一个raw中出现的频率,并将其写入向量b,例如对于向量a,它应该导致:
b
5,2,1,1,1,1,3
原因是我将绘制一个直方图,显示事件长度的分布.也许在R中已经有一个功能正是如此?否则使用if-loop?
干杯格雷格
我有一个脚本将*.csv文件导出到一个文件夹.我将实现我可以在脚本的开头定义实例的名称,例如名称< - PS3,这将更改所有文件路径,例如
write.csv(Data, file="Measurements/UV-Vis_Experiments/E48/******_Result.csv")
Run Code Online (Sandbox Code Playgroud)
结果:
write.csv(Data, file="Measurements/UV-Vis_Experiments/E48/PS3_Result.csv")
Run Code Online (Sandbox Code Playgroud)