簡體   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