linux c++编译错误 /usr/bin/ld: /tmp/ccNocKil.o:xxx.cpp:(.text+0x49): undefined reference to `PublicFunct

问题描述:

  在ubuntu系统下,使用g++编译cpp文件时报错,无法导入其他类,报错数据如下:

    /usr/bin/ld: /tmp/ccNocKil.o: in function `DealCurve::DealCurve()':xxx.cpp:(.text+0x49): undefined reference to `PublicFunction::PublicFunction()'

    /usr/bin/ld: /tmp/ccNocKil.o: in function `DealCurve::~DealCurve()':xxx.cpp:(.text+0xca): undefined reference to `PublicFunction::~PublicFunction()'
解决方案:

  经过多次测试,将构造函数及析构函数全部放在.h文件中,既可编译成功。

问题原因:不明, 该问题只存在使用g++指令单独编译cpp文件,如果在工程中使用Cmake编译,配置好CMakeList文件,则无问题

上一篇:CS 61A 2022 Fall Disc 02: Higher-Order Functions, Self Reference


下一篇:JPA 懒加载带来的问题