Stormer 发表于 2014-3-25 22:55:58

怎么引入自己写的头文件(.h文件)?

感觉很奇怪,我写了一个Waveforms.h并把它保存在了项目目录下。




Wave.ino中,我这样写的:
#include "Waveforms.h"


但是编译的时候报错:
Wave.ino:12:23: error: Waveforms.h: No such file or directory


这是什么情况啊?刚刚开始学ARDUINO,请大神帮忙指点~

Super169 发表于 2014-3-25 23:38:08

好像只可以 #include library 中的文檔, 如果只是自己的程式, 不用另開 .h, 直接加進程式中吧.
如果是想做一些常用的設定, 可以自建一個庫, 再抄進 library 的目錄下.

Stormer 发表于 2014-3-26 08:11:49

Super169 发表于 2014-3-25 23:38 static/image/common/back.gif
好像只可以 #include library 中的文檔, 如果只是自己的程式, 不用另開 .h, 直接加進程式中吧.
如果是想做 ...

谢谢~~~~~~~~~~~

转角 发表于 2014-3-26 09:18:05

用路径 include "../path/Waveforms.h"       这里是相对于你当前项目的路径,拿不准怎么写就写个绝对路径

Super169 发表于 2014-3-26 09:21:41

转角 发表于 2014-3-26 09:18 static/image/common/back.gif
用路径 include "../path/Waveforms.h"       这里是相对于你当前项目的路径,拿不准怎么写就写个绝对路径

oh...看來是我攪錯了, 原來可以用絕對路徑...但在程式中用上絕對路徑, 好像有點怪.

转角 发表于 2014-3-26 09:26:41

Super169 发表于 2014-3-26 09:21 static/image/common/back.gif
oh...看來是我攪錯了, 原來可以用絕對路徑...但在程式中用上絕對路徑, 好像有點怪.

确实不提倡用绝对路径,一般都把跟程序相关的文件都放在一个目录结构里,用相对路径,这样把那整个目录移动到别人电脑上也可以直接编译,用了绝对路径就需要修改了。
我是怕楼主弄不清相对路径怎么写,所以才跟他说不行就写绝对路径的

Super169 发表于 2014-3-26 09:32:53

转角 发表于 2014-3-26 09:26 static/image/common/back.gif
确实不提倡用绝对路径,一般都把跟程序相关的文件都放在一个目录结构里,用相对路径,这样把那整个目录移 ...

明白了, 謝謝.
請問如果用 "../path/.." 的方法, 如果有同名的 cpp file (例如 Waveforms.cpp), 可以把相應的 class 也加進來嗎?   當一個程式太大, 又不想變成庫時, 可以把部份 method 分拆出去另一個檔案再 include 嗎?

Stormer 发表于 2014-3-26 09:36:41

Super169 发表于 2014-3-26 09:32 static/image/common/back.gif
明白了, 謝謝.
請問如果用 "../path/.." 的方法, 如果有同名的 cpp file (例如 Waveforms.cpp), 可以把相 ...

这不就是.H .CPP 文件存在的意义吗。肯定是可以分离出去的。不然一个项目都写在一个文件里得多大啊,很不好找代码。

转角 发表于 2014-3-26 11:32:42

Stormer 发表于 2014-3-26 09:36 static/image/common/back.gif
这不就是.H .CPP 文件存在的意义吗。肯定是可以分离出去的。不然一个项目都写在一个文件里得多大啊,很 ...

对,可以一个class用一个cpp 和h ,使用的时候加进来行了

newphj 发表于 2014-4-22 12:31:10

成员函数写在。cpp里,编译提示未定义,只能写在。h文件里,为什么呢???
页: [1]
查看完整版本: 怎么引入自己写的头文件(.h文件)?