1. 程式人生 > >Linux中編譯C/C++檔案構建時提示找不到引用的函式定義

Linux中編譯C/C++檔案構建時提示找不到引用的函式定義

1、確認應用的檔案是否有編譯,測試方法修改錯檔案中的內容再次編譯看是否報錯

2、如果沒有說明沒有參與編譯,需要修改makefile檔案新增編譯對應檔案生成.o目標檔案。

3、如果發現已經添加了該檔案,還有一種可能就是巨集命名衝突。例如:

#ifndef _MONITOR_H_
#define _MONITOR_H_


class Monitor
{
public:
    static Monitor* GetInstance();
    int32_t Subscribe();
    
private:
    Monitor();
    
private:
    uint32_t m_State;
    Monitor* mInstance;
};
#endif
 

這個檔案沒有參與編譯,發現Monitor被系統中的另一檔案佔用,改名後OK,編譯通過。