gpt4 book ai didi

c++ - Qt与Firmata链接

转载 作者:行者123 更新时间:2023-12-02 11:04:02 24 4
gpt4 key购买 nike

我在带有Qt SDK(C++),固件和Arduino Softaware的Windows 7上运行

我想知道为什么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进行编译时,它说
D:\SGU\Semester 8\Program\OpenCVMultithreaded\Boards.h:9: error: Arduino.h: No such file or directory

我们真的可以在Qt上使用firmata吗?因为在互联网上我只发现使用Firmata的Arduino软件,而不是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)中添加

INCLUDEPATH += PATH_TO_ARDUINNO_HEADERS

例如 PATH_TO_ARDUINNO_HEADERS可以是 C:/Arduino/include

要指定库,您需要使用 LIBS变量,例如
LIBS += "-Lc:/Arduino/lib" -larduinnoshared

请参阅 qmake reference以获取有关包括\链接到外部项目的完整指南。

编辑:
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中。

关于c++ - Qt与Firmata链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24604214/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com