【发布时间】:2023-04-10 00:11:01
【问题描述】:
对于我的生活,我无法弄清楚如何解决这个链接问题。我设置了一个简单的#include,但仍然遇到同样的错误。我知道 IDE 知道文件是链接的,因为如果我移动头文件,我会得到各种其他错误。
为了记录,我正在使用 Propellor-GCC SimpleIDE
这是整个项目:
simplelink.cpp
#include "testclass.h"
int main(void)
{
TestClass test1 = TestClass();
return test1.value;
}
testclass.h(与simplelink.cpp在同一目录下)
#ifndef _MYSIMPLELINK_
#define _MYSIMPLELINK_
struct TestClass {
TestClass();
int value;
};
#endif
testclass.c
#include "testclass.h"
TestClass::TestClass() {
value = 13;
}
这是我得到的输出:
propeller-elf-gcc.exe -v GCC 4.6.1 (propellergcc_v1_0_0_2162) propeller-elf-c++ -I . -L . -o cmm/simplelink.elf -Os -mcmm -Wall
-m32bit-doubles -fno-exceptions -fno-rtti simplelink.cpp
C:\Users\Virtual\AppData\Local\Temp\cc81YpVR.o: In function `_main':
(.text+0x9): undefined reference to `TestClass::TestClass()'
collect2: ld returned 1 exit status
Done. Build Failed!
Check source for bad function call or global variable name `TestClass::TestClass()'
【问题讨论】:
-
将
testclass.c重命名为testclass.cpp
标签: c++ include undefined-reference