MounRiver Studio怎么添加現(xiàn)有的.c和.h文件進行編譯

新建了一個CH573F工程,現(xiàn)在想將現(xiàn)有的 .c 和 .h 文件進去,按照各種方法還是提示各種undefined reference

現(xiàn)有的文件夾是 BLE_HIDTouchDevice,里面有很多子文件夾,如圖

image.png

但是編譯時總是提示 很多文件?No such file or directory

https://bbs.21ic.com/icview-3037286-1-1.html?_dsign=f44376cc,參考了這個連接也不行啊

像keil里面,直接將現(xiàn)有的.c 和 .h 文件直接復制到工程目錄,然后再添加一下目錄地址就可以了的, 但是這個?MounRiver Studio怎么也添加不成功

1660294688190347.png這個是?添加了 path 路徑


編譯的時候提示多個函數(shù)沒有定義

1660295626872519.png

這個添加現(xiàn)有 文件 是怎么操作的呢

像keil里面,直接將現(xiàn)有的.c 和 .h 文件直接復制到工程目錄,然后再添加一下目錄地址就可以了的, 但是這個?MounRiver Studio怎么也添加不成功



image.png添加了 path 路徑


編譯的時候提示多個函數(shù)沒有定義

image.png


您好,如下圖所示,如果您工程此處沒有工程根目錄的話,直接復制進去文件夾到工程根目錄下的話C文件不會參與編譯,兩種方法

1 點擊右側(cè)? add folder 選擇,這樣以后再復制文件夾到此工程,也無需再次添加。

2 點擊右側(cè)?add folder?選擇復制進來的文件夾,以后再復制文件夾到此工程,重復同樣操作。

image.png


image.png


我重新新建了一個工程,只添加 “源位置”,然后還是 提示 文件不存在,是不是哪里沒有配置對


只添加這個 源位置 就可以了嗎, 我這樣操作后,還是不行啊?


我是將?BLE_HIDTouchDevice 整個文件夾復制到 工程的文件夾根目錄,然后在?點擊右側(cè)?add folder?選擇復制進來的文件夾

再進行編譯還是提示錯誤


您好 ,我看您上面發(fā)的添加了頭文件位置,就沒有說頭文件添加位置。一般來說,使用內(nèi)置模板,源位置都會有整個目錄,所以復制進去的文件夾默認都會參與編譯,不需要添加,遇到問題的時候可以查看一下是否沒有根目錄。一般來說只需要添加頭文件,頭文件添加位置就是你上面給圖的地方,或者如下圖所示。

image.png


新建的項目是有根目錄的,然后我就將?BLE_HIDTouchDevice 這整個文件夾復制到 項目根目錄下了,并且也保證了只有一個main函數(shù),其它設置都沒有改, 也沒有在上面說的 在? GNU RICS-V Cross C Compiler 里面更改設置了,但是編譯還是會出現(xiàn)一堆 不存在的文件,這些文件都是在這個?BLE_HIDTouchDevice里面的

image.png


經(jīng)過幾天的不斷嘗試, 終于弄好了

首先說明下,我的目的,現(xiàn)在是需要將BLE的例程全部單獨拿出來使用,但是EVT里面都是多個工程共用了相同的驅(qū)動文件夾,一旦改動,會導致其它例程也會收到影響,所以我就新建了一個BLE_HIDTouchDevice文件夾,用來存放藍牙HID觸摸的驅(qū)動程序,這個文件夾里面 有 4個子文件夾,分別是 如下圖

image.png

都是從EVT例程中復制出來的。其中hidtouch_main.c就是 main函數(shù)文件,

現(xiàn)在是 直接 新建一個573項目,方法:文件——新建——MounRiver工程

image.png

新建好工程之后,然后直接將BLE_HIDTouchDevice整個文件夾復制,在CH573F_BLETouch工程名上右鍵 選擇粘貼,這時整個文件夾就在工程項目下了

image.png

因為新建的工程自帶一個main函數(shù)文件,我就把 src文件夾里面的 main.c文件里面的 int main()函數(shù)整個屏蔽注釋掉,這樣就只剩下?hidtouch_main.c這一個 含有main()函數(shù),因為用到了 573的藍牙,所以需要配置 一下,下面也就是最關鍵的,在這里也是被折騰了幾天的原因,官方?jīng)]有這個相關說明,也是稀奇,不知道是不是我沒有找到還是怎么。

同樣是 在項目CH573F_BLETouch工程名上右鍵,選擇 Properties

image.png

然后 在 下圖標識位置設置

微信截圖_20220815172226.png

image.png

這里2個添加缺一不可,至于為啥要 添加CH57xBLE,只是對比例程里面多一個這個,而且這個也不是有選項選擇的那種,需完全手動填寫,不知道為什么必須寫,然后下面的LIB路徑也是需要填,這個倒是好理解,告訴編譯器lib文件的路徑位置。


還需要在 下圖位置Include 里面添加?BLE_HIDTouchDevice文件夾里面 所有子文件夾的路徑

image.png


最后 應用并關閉,再次編譯就 成功了,


所以至此折騰2天的問題解決了,在網(wǎng)上也翻爛了,都沒有說明什么問題的,最后也是誤打誤撞弄好了


謝謝樓主分享解決方法,本人正好遇到此問題,按照此方法成功解決。


其實可以采用#include “相對于main函數(shù)的目錄/文件名”得到方式也可以解決。

image.png

比如main中要應用OLED里面的文件可以寫#include “OLED/OLED.h”

比如main中要應用RTTHREAD里面的文件可以寫#include “../rtthread/rtcconfig.h”



只有登錄才能回復,可以選擇微信賬號登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频