繁体   English   中英

函数_main中引用的未解析的外部符号“ *”

[英]Unresolved external symbol “*” referenced in function _main

我是Linux用户,我在Windows下没有太多的编程经验,所以我认为这是Visual Studio的问题,我必须使用它或类似的东西。

我有像这样的非常简单的代码:

myProgram.cpp

...
#include "rideList.h"
...
int main() {
   ...
   rideListMain();
   ...
}

rideList.h

...
void rideListMain();
...

rideList.c

void rideListMain() {
   // some code here...
}

实际上,还有另外4个文件和类似的函数,例如rideListMain() ,编译器的输出为

LNK2019 unresolved external symbol "void __cdecl rideListMain(void)" (?rideListMain@@YAXXZ) referenced in function _main

将* .cpp重命名为* .c解决了该问题。

您将头文件包含在.cpp文件中一次,从而按标准C ++实现预期的方式处理名称,然后在实际定义类时在.c文件中包含相同的头文件,从而使用未修饰的名称进行定义。

正如链接器非常清楚地告诉您的?rideListMain@@YAXXZ ,从未定义?rideListMain@@YAXXZ

我认为这是Visual Studio的问题

不,您对C和C ++的理解都存在问题。 如果这是您所希望的,则extern "C"将在.cpp单元中声明该类型的名称。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM