1. 程式人生 > >error lnk2001無法解析的外部符號_main 無法解析的外部符號[email 

error lnk2001無法解析的外部符號_main 無法解析的外部符號[email 

這個問題表明你新建的是一個main型別函式(控制檯程式),而你的程式中有視窗程式,顯然是個win32函式,解決方法:
專案-屬性-連結器-系統-子系統-把控制檯該為windows


剛學WinAPI編譯遇到不少問題,
LNK2019: 無法解析的外部符號 _main,該符號在函式 ___tmainCRTStartup 中被引用 MSVCRTD.lib test
參考了以下方法

以下為轉載

一,問題描述
error LNK2001: unresolved external symbol
[email protected]
debug/main.exe:fatal error LNK 1120:1 unresolved externals
error executing link.exe;

二,產生這個問題可能的原因
1, 你用vc建了一個控制檯程式,它的入口函式應該是main, 而你使用了WinMain.

2.  你用vc打開了一個.c/.cpp 檔案,然後直接編譯這個檔案,這個檔案中使用了WinMian而不是main作為入口函式。vc這時的預設設定是針對控制檯程式的。

三, 解決方法
1.進入project->setting->c/c++, 在category中選擇preprocessor,在processor definitions中刪除_CONSOLE, 新增_WINDOWS

2.進入project->setting->Link, 在Project options中將 /subsystem:console改為/subsystem:windows.

3.儲存設定,Rebuild All.

VS2005中的設定請參考對應項進行設定

四,VS2005中的設定

1.選單中選擇 Project->Properties, 彈出Property Pages視窗

2.在左邊欄中依次選擇:Configuration Properties->C/C++->Preprocessor,然後在右邊欄的Preprocessor Definitions對應的項中刪除_CONSOLE, 新增_WINDOWS.

3.在左邊欄中依次選擇:Configuration Properties->Linker->System,然後在右邊欄的SubSystem對應的項改為Windows(/SUBSYSTEM:WINDOWS)

4.Rebuild All. Ok ?

測試:(環境:vs2005,程式語言vc)

1.用文字編輯器編寫如下程式碼:

// test.c
#i nclude <windows.h>

int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR     lpCmdLine,
int       nCmdShow)
{
MessageBox(NULL, "Hello!", "title", MB_OK);
}

假設把檔案包存為test.c.

2.用vs2005建一個Win32 Console Application, 注意在Application Settings設定為Empty project. 然後把test.c新增到工程中去。

3.vs2005 建立的工程預設是支援UNICODE的,我不用這個,所以在選單中選擇 Project->Properties, 彈出Property Pages視窗。在左邊欄中依次選擇:Configuration Properties->General,然後把右邊欄的Character Set 改為Use Multi-Byte Character Set.

4.編譯,出現如下錯誤:
MSVCRTD.lib(crtexe.obj) : error LNK2019: unresolved external symbol _main referenced in function ___tmainCRTStartup
C:/test/Debug/test.exe : fatal error LNK1120: 1 unresolved externals

5.按照上述VS2005中的設定方法進行設定,然後再編譯,錯誤消失了吧!

相關推薦

error lnk2001無法解析外部符號_main 無法解析外部符號<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="de8189b7b093bfb7b09eefe8">[email&#160

這個問題表明你新建的是一個main型別函式(控制檯程式),而你的程式中有視窗程式,顯然是個win32函式,解決方法:專案-屬性-連結器-系統-子系統-把控制檯該為windows剛學WinAPI編譯遇到不少問題,LNK2019: 無法解析的外部符號 _main,該符號在函式 ___tmainCRTStartup

VS2015 error LNK2019 無法解析外部符號 <a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="19464e70775478707759282f">[email&#160;protecte

前言 上一篇文章中,為了編譯OpenCV的示例程式碼,然後搭建環境, 最後想直接執行示例demo,我在建立新工程的時候,直接建立了一個win32視窗專案,然後環境配置完成後,將opencv 的示例程式碼kalman.cpp直接匯入到新建的vs工程中進行編譯,直接報錯: 錯誤 LN

error LNK2019: 無法解析外部符號 <a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="702f031f131b1504304142">[email&#160;protected]a>,該

Reason: 學習使用socket,在stdafx.h檔案加了#include ,編譯 #include "stdafx.h" #include   using namespace std;   int _tmain(int argc

【C++】error LNK2019: 無法解析外部符號 <a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="a6f9f1cfc8ebc7cfc8e69790">[email&#160;protected

原因:c語言執行時找不到適當的程式入口函式 解決:對於控制檯應用程式 1.選單中選擇 Project->Properties, 彈出Property Pages視窗 2.在左邊欄中依次選擇:Configuration Properties->C/C++->

error LNK2019: 無法解析外部符號 <a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="0e515167637e51515e626f775d617b606a4f4e3f3c">[email&#

http://bbs.csdn.net/topics/290079391 原始檔頂端新增 #pragma comment(lib, "winmm") PlaySound這個函式在Winmm.lib這個庫中,當然需要連結它。 另一種方法是: 選單Project --&g

無法解析外部符號 <a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="1e41497770537f77705e2f28">[email&#160;protected]a>,該符號在函式 ___tmai

#include using namespace std; int main() { cout <<“This is a C++ program.”; return 0; } 1>------ 已啟動生成: 專案: hello1, 配置: Debug Win32 ---

windows程式設計原始碼:無法解析外部符號 <a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="0956566064795656596568705a667c676d5e49383b">[email&#

     作者:mickole 出處:http://www.cnblogs.com/mickole/   windows程式設計原始碼在vs2015上執行出現: 無法解析的外部符號 [email protected] 1>HelloWi

無法解析外部符號 <a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="c29da1b7a0aea3b1a1b0a7a3b6a79db4f082f6">[email&#160;protected]a>,

首先貼出我的問題,解決的就是這個問題。要解決這個問題,首先要看你的cuda環境配置的是否正確,那麼就要從頭跟著我們走一遍,再檢查一下您配置的是否正確。1>1.cu.obj : error LNK2019: 無法解析的外部符號 cublasDestroy_v2,該符號在函

無法解析外部符號 <a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="38674c6f51567559515678090e">[email&#160;protected]a>

無法解析的外部符號 [email protected] 編譯出下如下錯誤: error LNK2019: 無法解析的外部符號 [email protected],該符號在函式 __

vc平臺下 解決外部符號錯誤:_main,<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="9dc2caf4f3d0fcf4f3ddacab">[email&#160;protected]a>,__b

不過應該先檢查一下自己是否有拼寫錯誤!!尤其是main和WinMain  解決外部符號錯誤:_main,[email protected],__beginthreadex在建立MFC專案時, 不使用MFC AppWizard嚮導, 如果沒有設定好專案引數, 就會在

無法執行 <a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="7d0b081850101c131c1a18500e040e0918103d4e534c534d">[email&#160;protected]

一個專案的變大好多人開發,難免會有很多的衝突。每次跟新程式碼都要一個坑一個坑的解決的。這次遇到這個坑好大。急死了。。。。 百度了好多說佔用埠,試了好幾遍不行。最終還是要去查原因的。。。。經過了幾個小時的折磨還是解決了。我也不囉嗦我的痛苦了。直接上圖上面是報錯。 解決方案是:這個問題是由於webpack.d

無法推送一些引用到 '<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="a2c5cbd6e2c5cbd6cad7c08cc1cdcf">[email&#160;protected]a>:you

摘要:當linux系統下git發生如上向遠端倉庫push出錯時,解決辦法1.首先強制使用$git push -u origin +master​如果仍然發生如下錯誤error:srcrefspecmaster​doesnotmatchany.error:無法推送一些引用到‘[email

mfcs100ud.lib(dllmodul.obj) : error LNK2005: <a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="da859eb6b697bbb3b49aebe8">[email

今天用VC2010寫一個用了MFC的規則DLL,編譯時報告如題錯誤。 必應後發現這篇文章  error LNK2005: [email protected] 已經在 MSVCRTD.lib(dllmain.obj) 中定義   http://wangl

Error:Attribute <a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="731203031f1a1012071a1c1d331a101c1d">[email&#160;protected]a

今天在匯入一個emoji的控制元件的時候提示Error:(14, 9) Attribute [email protected] value=(@drawable/ic_launcher) from AndroidManifest.xml:14:9 百度了一下,這是一個編譯的

nafxcwd.lib(dllmodul.obj) : error LNK2005: <a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="7f203b1313321e16113f4e4d">[email&#

朋友編寫一個dll,編譯時總出現"nafxcwd.lib(dllmodul.obj) : error LNK2005: [email protected]..."錯誤!後發現是,其建立dll時選擇的時不使用MFC,而後來工程中又添加了與MFC相關的東西.才引起上述問題.採用如

github解決hexo d命令出錯error: 推送一些引用到 '<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="d7b0bea397b0bea3bfa2b5f9b4b8ba">[email&

error: 推送一些引用到 '[email protected]:xxxx.github.io.git' 失敗 FATAL Something's wrong. Maybe you can find the solution here: http://hexo.io/docs/tro

Android 圖片適配使用<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="91f8fee2a3d1">[email&#160;protected]a>圖原理解析

在很多公司開發,可能公司只提供一套ios [email protected],[email protected],[email protected]圖片。本文以蘋果6為設計標準 1.首先解釋下android系統下dpi dpi是“dot pe

通透<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="95d2e6fafbd5d0ede5fae6f0">[email&#160;protected]a>註解、@SerializedName、解析js

在講如何解析資料之前,先描述一下gson中的兩個註解@Expose和@SerializedName。 @Expose註解的作用:區分實體中不想被序列化的屬性,其自身包含兩個屬性deserialize(反序列化)和serialize(序列化),預設都為true。 使用 new

<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="0a597a7863646d4a5969626f6e7f666f">[email&#160;protected]a>定時任務原始碼解析

本文以springboot中cron表示式配置的定時任務為例子。 在springboot中的啟動類中新增@EnableScheduling註解,在beanFactory中新增ScheduledAnnotationBeanPostProcessor作為bean初始化完畢後的