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,编译通过。

猜你喜欢

转载自blog.csdn.net/roshy/article/details/84324402