![](/img/trans.png)
[英]What do the certain files do after creating an empty project in Visual Studio 2012?
[英]What does creating a Solution using a template in Visual Studio actually do versus an empty project?
我正在關注 Molly Rocket 的 C 簡介教程,但在使用 Empty Project 選項時在 VisualStudio 2019 的調試器中運行以下代碼時遇到問題。
我正在使用 Empty Project 選項而不是加載模板,因為這是 Molly 使用的,而我可以加載模板並在那里運行代碼,我想知道為什么會出現此錯誤,以便更好地理解 Visual Studio和 C++。
#include <Windows.h>
void learnC(void) {
OutputDebugStringA("Test\n");
}
int CALLBACK WinMain(
HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
learnC();
}
收到錯誤 LNK2019 這根本沒有幫助,因為它只是一個通用的捕獲所有錯誤代碼。
錯誤 LNK2019:在 function“int __cdecl invoke_main(void)”(?invoke_main@@YAHXZ) 中引用了未解析的外部符號主
我已嘗試更新 VS2019 的兼容性設置以及人們建議使用的其他設置,但錯誤仍然存在。
同樣,當我創建解決方案時,我使用了空白文檔而不是模板,因為這是 Molly Rocket 在編寫此代碼時使用的。
當我使用模板(我使用 Windows 桌面應用程序模板)並刪除所有代碼並粘貼到我在原始文檔中的內容時,我沒有收到錯誤,我想知道為什么。
感謝您的時間!
創建空項目時, SubSystem
的值默認為Console
。
根據文檔
使用 /SUBSYSTEM:CONSOLE 的應用程序; 調用 main(或 wmain)
使用 /SUBSYSTEM:WINDOWS 的應用程序; 調用 WinMain(或 wWinMain),必須將其定義為使用 __stdcall
就我而言,您應該將SubSystem
設置為windows
( Properties -> Linker -> System -> SubSystem )
有關/SUBSYSTEM (Specify Subsystem)
的更多詳細信息,建議您參考鏈接: https://docs.microsoft.com/en-us/cpp/build/reference/subsystem-specify-subsystem?view=vs- 2019
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.