![](/img/trans.png)
[英]how to compile c++ and not include cstdio and other c standard libraries
[英]How to include a folder of libraries in C?
我正在嘗試包括一個包含約60個.h和.hpp文件的組合的文件夾。 此文件夾包含與編程機器人庫袋鼠的Botball競爭(小型計算機類設備)。 include
與main.c
位於同一位置(內部code
)。 到目前為止,這是我包含庫的標頭如下所示:
#include "../code/include/accel.h"
就像accel.h
一樣,我在include
還有其他60個.h和.hpp文件。 那么,問我一個問題,我是否需要輸入所有60條標題行? 或者有沒有辦法包含include
文件夾。
我在此項目中使用的是Clion,如果我不能包含文件夾本身,是否有人知道Clion中的快捷方式可以將include中的所有文件include
。
我也在考慮使用某種占位符作為文件夾名稱,並且僅指定文件類型。 因此,例如: #include "../code/include/(generic placeholder name).h"
/ #include "../code/include/(generic placeholder name).h"
。 我不知道這樣的事情是否存在。
我也請您記住我是編程的初學者,所以請保持簡單的答案。
這只是一些額外的信息:
Wallaby是一台微型計算機,您可以將傳感器,電動機,伺服器和攝像機連接到該微型計算機,以控制Botball競賽的機器人。 通常,人們可以通過Wifi Direct或電纜連接到Wallaby,並通過在線界面直接在其上編寫程序(對此不確定,但您只需在瀏覽器中輸入IP地址,它就會彈出一個可以創建項目和代碼的界面)。 該接口中編寫的所有代碼都直接保存到Wallaby中。 這里的默認include語句是#include <kipr/botball.h>
,因此我假設botball.h
(位於Wallaby的存儲設備上)已將所有這60個庫合並到其中。 我從GitHub獲得了我正在使用的include文件夾。 這個鏈接是由Botball組織者之一提供給我的。 因此,嘗試下載該庫的主要目的是,即使我沒有連接到Wallaby,也可以編寫並成功編譯代碼。 希望這提供了一些相關的上下文。
謝謝您的回答!
CLion是Clang和GCC的IDE。 通過指定-I<path>
命令行參數,指示這些編譯器搜索包含文件的-I<path>
。 可以指定任何數字,並按給定的順序搜索它們,找到的第一個匹配項是包含的文件。
我對CLion並不特別熟悉,但毫無疑問,它在某個對話框中可以設置頭文件搜索路徑。
編輯:似乎CLion可能不會使它如此簡單。 我了解您必須先通過CMake添加: https ://cmake.org/cmake/help/v3.0/command/include_directories.html#command: include_directories ,但是在那之后,IDE將無法識別編輯器,並會警告您無法識別的文件,並且不會提供代碼理解功能。 我相信它仍會建立。
我要做的是
創建(可能使用腳本工具或特定程序)“ all.h”文件,其中包括所有其他頭文件
#ifndef ALL_INCLUDED
#define ALL_INCLUDED
#include "accel.h"
#include "bccel.h"
//...
#include "zccel.h"
#endif
在主文件中包含“ all.h”
#include "../code/include/all.h"
您可以在每次構建代碼時自動創建“ all.h”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.