Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/164.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何使用cl编译器在windows中启动arduino_C++_Visual Studio_Arduino_Cl - Fatal编程技术网

C++ 如何使用cl编译器在windows中启动arduino

C++ 如何使用cl编译器在windows中启动arduino,c++,visual-studio,arduino,cl,C++,Visual Studio,Arduino,Cl,我刚刚为arduino购买了一个工具包,在我得到这个工具包之前,我想开始发现这些库。看起来arduino依赖于自己的IDE。在arduino的文件夹中,有一个main.cpp,因此我想使用cl编译器visual studio 2013编译此文件。不幸的是,没有自述文件。我不知道应该添加和使用哪些库。在main.cpp中 #include <Arduino.h> //Declared weak in Arduino.h to allow user redefinitions. int

我刚刚为arduino购买了一个工具包,在我得到这个工具包之前,我想开始发现这些库。看起来arduino依赖于自己的IDE。在arduino的文件夹中,有一个
main.cpp
,因此我想使用
cl
编译器visual studio 2013编译此文件。不幸的是,没有
自述文件。我不知道应该添加和使用哪些库。在
main.cpp

#include <Arduino.h>

//Declared weak in Arduino.h to allow user redefinitions.
int atexit(void (*func)()) { return 0; }

// Weak empty variant initialization function.
// May be redefined by variant files.
void initVariant() __attribute__((weak));
void initVariant() { }

int main(void)
{
    init();

    initVariant();

#if defined(USBCON)
    USBDevice.attach();
#endif

    setup();

    for (;;) {
        loop();
        if (serialEventRun) serialEventRun();
    }

    return 0;
}
#包括
//在Arduino.h中声明为弱,以允许用户重新定义。
int atexit(void(*func)(){return 0;}
//弱空变量初始化函数。
//可以由变量文件重新定义。
void initVariant();
void initVariant(){}
内部主(空)
{
init();
initVariant();
#如果已定义(USBCON)
USBDevice.attach();
#恩迪夫
设置();
对于(;;){
loop();
如果(serialEventRun)serialEventRun();
}
返回0;
}
当我运行时(即在同一文件夹中)

cl/EHsc main.cpp/Fetest.exe

即使
Arduino.h
在同一个文件夹中,我还是收到了这个错误

main.cpp(20):致命错误C1083:无法打开包含文件:“Arduino.h”:没有此类文件或目录


我的问题是,不使用IDE和
cl
编译器是否可以运行库?

可能不行。Arduino库通常要在嵌入式处理器(如AVR)上运行。如果他们访问处理器的任何硬件,那么您将很难编辑这些库,使它们在cl编译器下的Windows上运行

另一个问题是,这些库是用gcc编译的,gcc具有cl所没有的特性


但是,如果你能说出你使用的是什么工具箱和什么库,而不是含糊其辞,这会有所帮助。

我甚至不确定Arduino是否与cl编译器完全兼容,也许你更愿意在Visual Studio中使用它来为Arduino编程。

@DavidGrayson,该文件位于.exe目录下。问题是角括号。将此
更改为
“Arduino.h”,但它会引发另一个错误
\stdlib.h(114):错误C3646:“属性”:未知重写说明符
。我不确定arduino是否与编译器兼容。如果可能的话,我计划使用arduino的所有库。我想开始至少与简单的项目,如LED闪烁。我在Youtube上看到一些ppl使用visual studio。使用
MinGW
怎么样?您需要某种AVR或Arduino模拟框架来实现这一点,您不能只使用cl编译库。LED通常可以通过Arduino函数
pinMode
digitalWrite
打开。Arduino IDE附带了那些实际写入AVR硬件寄存器的函数的实现。如果您希望看到屏幕上的虚拟LED亮起,那么您必须获得这些功能的替代实现。我不知道在哪里可以找到这样的工具,但是那些YouTube视频和它们的描述可能会有所帮助。试着在Arduino Stack Exchange网站上询问。这里有一个与你类似的问题: