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,編譯通過。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章