歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux技術

undefined reference to 問題解決方法

"undefined reference to" 問題解決方法:

三個c文件:common.h,awb_main.c,image_isp_3516a.c

common.h中包含所必需的頭文件與image_isp_3516a.c中函數的聲明;

awb_main.c中包含common.h、主函數main,main中調用image_isp_3516a.c中的函數;

image_isp_3516a.c中包含common.h、一些函數的具體實現。

編譯生成可執行文件awb,拷貝到相應目錄下運行:

awb: awb_main.o

$(CC) $(CFLAGS) -lm -lpthread -o $@ $^ $(SENSOR_LIBS) $(MPI_LIBS) $(AUDIO_LIBA)

cp -f awb /nfsroot/AppTest/UV950A/

此時編譯器報錯:

awb_main.o: In function `main':

awb_main.c:22: undefined reference to `isp_metering_hist_0_read()'

collect2: ld returned 1 exit status

其中isp_metering_hist_0_read()為image_isp_3516a.c中的函數。

解決方法:

awb: awb_main.o image_isp_3516a.o

$(CC) $(CFLAGS) -lm -lpthread -o $@ $^ $(SENSOR_LIBS) $(MPI_LIBS) $(AUDIO_LIBA)

cp -f awb /nfsroot/AppTest/UV950A/

問題解決,編譯正確,可以正確運行。

Copyright © Linux教程網 All Rights Reserved