0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

投稿 | e2studio中函數(shù)未定義的問題及解決方法

RA生態(tài)工作室 ? 2022-01-06 16:08 ? 次閱讀
poYBAGG2ot-AGNHBAABs_TTBnPY753.png

1.問題描述

新建e2studio工程,在入口函數(shù)hal_enry中調(diào)用user_main.c中定義的user_main函數(shù),user_main函數(shù)中調(diào)用本文件中定義的mul函數(shù)和math_cal.c中定義的add和sub函數(shù)。工程目錄如下圖。

099f8938-697f-11ec-8d32-dac502259ad0.png

工程路徑中添加user文件夾的路徑,編譯后提示math_cal.c中的add和sub函數(shù)未定義,user_main.c中定義的mul函數(shù)沒有問題,仔細檢查后發(fā)現(xiàn)語法沒有問題。

2.原因檢查

e2 studio中除了建工程時生成的文件夾,其他新添加的文件夾里面的文件默認都不會被編譯,從工程樹下的各文件夾標識可以看出,可以被編譯的文件夾上有個藍底白字的c,不被編譯的文件夾則沒有,如下圖。

09f72cd8-697f-11ec-8d32-dac502259ad0.png

3.解決方法

在新添加不帶C標識的文件夾上右鍵,選擇“Resource Configurations -> Exclude from build”,在出現(xiàn)的對話框中把“Dubeg”和“Release”都不勾選,如下圖。默認都是勾選的,表示在debug和release的時候,編譯時該文件夾下的文件不包含在內(nèi),所以提示文件內(nèi)的函數(shù)未定義。

0a420b86-697f-11ec-8d32-dac502259ad0.png

點“OK”退出后,可以從工程樹中看到user文件夾已有了藍底白字的c標識,再次編譯已沒有錯誤。

0a7ab0ee-697f-11ec-8d32-dac502259ad0.png

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
收藏 人收藏

    評論

    相關推薦

    如何使用e2studio對瑞薩單片機進行GPIO輸出

    本篇文章主要介紹如何使用e2studio對瑞薩單片機進行GPIO輸出,并以LED顯示。
    的頭像 發(fā)表于 07-30 16:12 ?374次閱讀
    如何使用<b class='flag-5'>e2studio</b>對瑞薩單片機進行GPIO輸出

    GD32F3使用串口DMA時,相應bsp里drv_dma.h文件中含有dma_subperipheral_enum報未定義錯誤的原因?

    GD32F3使用串口DMA時,相應bsp里drv_dma.h文件中含有dma_subperipheral_enum,報未定義錯誤
    發(fā)表于 07-12 08:55

    SDF工程編譯報錯未定義是怎么回事?

    調(diào)用例程頭文件xSemaphoreHandle audio_hal_lock和timer_callback編譯報錯未定義,這是什么問題 F:/embedded/esp-idf/esp-adf
    發(fā)表于 06-28 08:25

    ESP8266報錯CONFIG_FREERTOS_HZ未定義,怎么解決這個問題?

    SDK用的是EPS8266_RTOS_SDK,在github上下載的最新版在vscode 上用這個函數(shù)時vTaskDelay(1000 / portTICK_PERIOD_MS);portTICK_PERIOD_MS報錯,提示CONFIG_FREERTOS_HZ未定義,在
    發(fā)表于 06-19 06:06

    esp32s2使用自定義中斷,提示UART0未定義,需要包含什么頭文件?

    | ESP_INTR_FLAG_IRAM, &handle);static void IRAM_ATTR uart0_irq_handler(void *arg) { uint16_t status = UART0.int_st.val; } 提示UART0未定義,不知道需要包含什么頭文件。
    發(fā)表于 06-18 06:25

    esp-idf-v5.1 vscode提示未定義標識符,F(xiàn)2轉(zhuǎn)到定義路徑不對是怎么回事?

    的LP_I2C_NUM_0 等標識符都會提示未定義標識符。 追蹤定義之后發(fā)現(xiàn),是因為宏定義 SOC_I2C_NUM 判定時,
    發(fā)表于 06-07 06:48

    TLE9879打開配置文件以后,發(fā)現(xiàn)會提示有些未定義的變量,為什么?

    我打開配置文件以后,發(fā)現(xiàn)會提示有些未定義的變量,然后這個時鐘變量FSYS也變成了_NAN(IND)MHz,不知道是什么問題,請幫忙看一下。
    發(fā)表于 05-29 07:47

    stm8的管腳未定義的原因?

    我使用IAR編譯的時候,包含了iostm8s103f3.h,定義管腳時使用的是_BoolLED@PB_ODR:5;為什么提示我——Bool未定義
    發(fā)表于 05-15 06:00

    MotorControl Workbench 5.x.x安裝在非指定目錄,生成的代碼編譯時就會出一大堆的未定義怎么解決?

    如果MotorControl Workbench 5.x.x安裝在非指定目錄,比如e:STMicroelectronicsMC_SDK_5.x.x,生成的代碼編譯時就會出一大堆的未定義。這個需要如何設置才能正確編譯?(編譯軟件就安裝的程序都沒問題,改到默認目錄安裝就不會出
    發(fā)表于 04-26 06:58

    STM8S2xx直接用IA編譯報錯,提示未定義的原因?

    大家有沒有遇到官方的STM8S2xx的觸摸例程直接用IA編譯報錯,提示未定義
    發(fā)表于 04-16 07:13

    已經(jīng)將文件的路徑添加了,頭文件也包含了,為什么編譯會提示未定義符號錯誤?

    我準備添加TFT顯示屏的驅(qū)動,已經(jīng)將文件的路徑添加了,頭文件也包含了,但在編譯時卻提示未定義符號錯誤。
    發(fā)表于 03-07 07:36

    瑞薩e2studio(28)----SPI 驅(qū)動WS2812燈珠

    本文介紹了如何使用瑞薩RA微控制器,結(jié)合E2STUDIO配置工具和SPI通訊接口,來驅(qū)動和控制WS2812 LED燈帶。這是一個集硬件連接、軟件配置和編程開發(fā)于一體的綜合性項目,目標是實現(xiàn)對LED燈帶顏色和亮度的精確控制。
    的頭像 發(fā)表于 12-01 16:48 ?1726次閱讀
    瑞薩<b class='flag-5'>e2studio</b>(28)----SPI 驅(qū)動WS2812燈珠

    IAR編譯找不到.h文件的解決方法

    IAR編譯找不到.h文件使用IAR編譯器,在編譯時提示找不到,某個.h打不開,某個.h文件未定義
    發(fā)表于 10-19 08:03

    keil總是顯示p0未定義應該怎么解決?

    keil總是顯示p0未定義應該怎么解決?
    發(fā)表于 10-18 07:34

    編譯過程替換函數(shù)名的兩種方法

    函數(shù)名為__wrap_symbol,且稱其為包裝函數(shù),“symbol”是一個函數(shù)名,大致執(zhí)行過程是這樣的:當調(diào)用“symbol”函數(shù)時,如果“symbol”
    的頭像 發(fā)表于 10-11 17:15 ?530次閱讀