"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/
問題解決,編譯正確,可以正確運行。
undefined reference to `png_create_write_struct問題解決
undefined reference to error解決方法
Linux下編譯cppunit1.12.1出現undefined reference to `dlclose的解決方法
一步一步學Linux C:undefined reference to ‘pthread_create問題解決
iptables: Unknown error 4294967295問題解決方法
gcc undefined reference to 問題解決方法