C++ Qt与Firmata的连接

C++ Qt与Firmata的连接,c++,qt,compiler-errors,qmake,C++,Qt,Compiler Errors,Qmake,我在Windows7上运行QtSDK(C++)、Firmata和ArduinoSoftAware 我想知道为什么firmata.h不工作 #ifndef Firmata_Boards_h #define Firmata_Boards_h #include <inttypes.h> #if defined(ARDUINO) && ARDUINO >= 100 #include "Arduino.h" // for digitalRead, digital

我在Windows7上运行QtSDK(C++)、Firmata和ArduinoSoftAware

我想知道为什么firmata.h不工作

#ifndef Firmata_Boards_h
#define Firmata_Boards_h

#include <inttypes.h>

#if defined(ARDUINO) && ARDUINO >= 100
#include "Arduino.h"    // for digitalRead, digitalWrite, etc
#else
#include "WProgram.h"
#endif
我们真的可以在Qt上使用firmata吗?因为在互联网上,我只发现Arduino软件使用firmata,而不是Qt本身

我试过:

INCLUDEPATH += "D:\opencv\build\include" 
INCLUDEPATH += "D:\opencv\build\include\opencv" 
INCLUDEPATH += "C:\Program Files (x86)\Arduino" 
INCLUDEPATH += "C:\Program Files (x86)\Arduino\hardware" 
INCLUDEPATH += "C:\Program Files (x86)\Arduino\lib" I
INCLUDEPATH += "C:\Program Files (x86)\Arduino\libraries" 
INCLUDEPATH += "C:\Program Files (x86)\Arduino\hardware\arduino\cores\arduino\Arduino.h" 

但它不起作用。

这不是链接问题,而是编译问题,与您正在使用的特定库无关。您可能没有指定头文件或库文件的位置

在项目文件(
.pro
)中添加

例如,
PATH\u到\u-Arduino\u头
可以是
C:/Arduino/include

要指定库,您需要使用变量,例如

LIBS += "-Lc:/Arduino/lib" -larduinnoshared
有关包含\链接到外部项目的完整指南,请参阅

编辑: include路径是查找
“Arduino.h”
的前缀。 因此,如果文件位于

"C:\Program Files (x86)\Arduino\hardware\arduino\cores\arduino\Arduino.h"
你需要使用

INCLUDEPATH += "C:\Program Files (x86)\Arduino\hardware\arduino\cores\arduino"

您发布的所有其他路径对此文件无效。您只在includepath中放置包含头文件的目录。

Hi!此错误并不意味着您可以或不能在Qt上使用firmata。它只是说它没有找到任何Arduino。检查您的命令行,并检查您是否在包含的正确文件夹中有Arduino.h。它来自Arduino库,从C:/Arduino目录复制代码会很麻烦,因为它有许多文件。您不必复制任何文件,重要的是至少要有这些文件。编译时,必须向编译器指定在何处查找构建应用程序所需的所有文件。在您的情况下,您可能在命令行中遗漏了-IC:/Arduino。我已经添加了它,但仍然无法工作
INCLUDEPATH+=“D:\opencv\build\include”INCLUDEPATH+=“D:\opencv\build\include\opencv”INCLUDEPATH+=“C:\Program Files(x86)\Arduino”INCLUDEPATH+=“C:\Program Files(x86)\Arduino\hardware”INCLUDEPATH+=“C:\Program Files(x86)\Arduino\lib“INCLUDEPATH+=”C:\Program Files(x86)\Arduino\libraries“INCLUDEPATH+=”C:\Program Files(x86)\Arduino\hardware\Arduino\cores\Arduino\Arduino.h”
您的include路径指令不正确。查看我的编辑
"C:\Program Files (x86)\Arduino\hardware\arduino\cores\arduino\Arduino.h"
INCLUDEPATH += "C:\Program Files (x86)\Arduino\hardware\arduino\cores\arduino"