青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

山寨:不是最好的,是最適合我們的!歡迎體驗山寨 中文版MSDN

Blog @ Blog

當華美的葉片落盡,生命的脈絡才歷歷可見。 -- 聶魯達

常用鏈接

統計

積分與排名

BBS

Blog

Web

最新評論

error LNK2001: unresolved external symbol _main解決辦法

解決外部符號錯誤:_main,_WinMain@16,__beginthreadex -!t'my`yK  
在創建MFC項目時, 不使用MFC AppWizard向導, 如果沒有柚煤孟钅坎問? 就會在編譯時產生很多連接錯誤, 如error LNK2001錯誤, 典型的錯誤提示有: m1+4#'  
libcmtd.lib(crt0.obj) : error LNK2001: unresolved external symbol _main (gd){j  
LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16 OuR5T>>  
msvcrtd.lib(crtexew.obj) : error LNK2001: unresolved external symbol _WinMain@16 *_g+&Us1  
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __beginthreadex }t,6 oT  
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex <u%N(=9  
]wpN"w"  
1. Windows子系統設置錯誤, 提示: )WA5FzPLw  
libcmtd.lib(crt0.obj) : error LNK2001: unresolved external symbol _main *+oJ(e  
4f{'{1]\  
Windows項目要使用Windows子系統, 而不是Console, 可以這樣設置: *^'y#/Dg  
z !DF-%3|  
[Project] --> [Settings] --> 選擇"Link"屬性頁,  Qo!  
在Project Options中將/subsystem:console改成/subsystem:windows   T`H.k"Y{  
Xn?{t*{  
2. Console子系統設置錯誤, 提示: vwK 7b0M  
LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16 4Y~E`L0,  
8%P ><"  
控制臺項目要使用Console子系統, 而不是Windows, 設置: *Cl5Y':|h  
sipSn4_  
[Project] --> [Settings] --> 選擇"Link"屬性頁, WveN']q\  
在Project Options中將/subsystem:windows改成/subsystem:console BR4C@Z  
1 vBkC&  
3. 程序入口設置錯誤, 提示: dy2$&$=  
msvcrtd.lib(crtexew.obj) : error LNK2001: unresolved external symbol _WinMain@16 sP.>uExt  
G- (k~1q  
通常, MFC項目的程序入口函數是WinMain, 如果編譯項目的Unicode版本, 程序入口必須改為wWinMainCRTStartup, 所以需要重新設置程序入口: r#~P5[aV  
Os hl6 i  
[Project] --> [Settings] --> 選擇"Link"屬性頁, "1zk_#B*  
在Category中選擇Output, p HGRL  
再在Entry-point symbol中填入wWinMainCRTStartup, 即可 >IC}SZ  
F)c[@\.dm  
4. 線程運行時庫設置錯誤, 提示: X;t_- f  
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __beginthreadex AmiBqZTp  
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex sz 23_{c?  
oz! {Fd-  
這是因為MFC要使用多線程時庫, 需要更改設置: L a-Y,1x](  
uAk>h^pbM  
[Project] --> [Settings] --> 選擇"C/C++"屬性頁, '%ET|1#SO  
在Category中選擇Code Generation, ;Y-M)k(  
再在Use run-time library中選擇Debug Multithreaded或者multithreaded 0v~5<Y'Z  
咸魚游俠(75374355) 12:11:11 <mW.@e5_  
其中, W_qa?Jv  
Single-Threaded                單線程靜態鏈接庫(release版本) Kh4w Q   
Multithreaded                  多線程靜態鏈接庫(release版本) |F]g[En 4  
multithreaded DLL              多線程動態鏈接庫(release版本) s-'qYgA6p  
Debug Single-Threaded          單線程靜態鏈接庫(debug版本) _ 7w_./y  
Debug Multithreaded            多線程靜態鏈接庫(debug版本) <[ ePw  
Debug Multithreaded DLL        多線程動態鏈接庫(debug版本) H8V/O9|(  
9^x@/  
單線程: 不需要多線程調用時, 多用在DOS環境下 /PJ|d5  
多線程: 可以并發運行 clUdag,C  
靜態庫: 直接將庫與程序Link, 可以脫離MFC庫運行 X]pEmHl  
動態庫: 需要相應的DLL動態庫, 程序才能運行 \n{&_:b+q  
release版本: 正式發布時使用 9J;ZZ/3  
debug版本: 調試階段使用   k9PoFC#k  

posted on 2008-10-14 22:07 isabc 閱讀(9934) 評論(2)  編輯 收藏 引用 所屬分類: BUG分析

評論

# re: error LNK2001: unresolved external symbol _main解決辦法 2008-10-21 21:16 isabc

現象:
當你編譯一個ATL工程的Release版時,你得到了下面這個鏈接錯誤:

LIBCMT.LIB(crt0.obj) : error LNK2001: unresolved external symbol _main

如下圖所示:


而Debug版本的編連卻順利通過。




原因與解決方法:
出錯原因:
如果你在工程中使用了CRT函數,而這些函數又需要CRT啟動代碼,就會出現這種鏈接錯誤。默認情況下,Release配置的Preprocessor definitions中定義了_ATL_MIN_CRT,它將CRT啟動代碼從你的EXE或DLL剔出去了。




背景知識:
1:

ATL支持把一個服務器編連優化成最小尺寸或者依賴性最小。我們可以定義三個預處理器符號來影響服務器的優化。

_ATL_MIN_CRT 服務器不鏈接標準的C/C++運行庫

_ATL_DLL 服務器動態鏈接工具函數庫atl.dll

_ATL_STATIC_REGISTRY 服務器靜態鏈接對組件注冊的支持

如果定義了預處理器符號_ATL_MIN_CRT,那么我們的服務器不鏈接C/C++運行庫,并且ATL提供了函數malloc、realloc、new和delete的一個實現。當定義了這個符號時,我們不能調用任何其他的C/C++運行庫的函數。否則,就會受到這樣的待遇:

LIBCMT.LIB(crt0.obj) : error LNK2001: unresolved external symbol _main

ATL向導生成的ATL工程為所有的Release版本的編連定義了_ATL_MIN_CRT,但是沒有為Debug版本定義這個符號。

Debug配置沒有定義這三個符號中的任何一個。

RelMinSize配置定義了_ATL_MIN_CRT和_ATL_DLL。

RelMinDependency配置定義了_ATL_MIN_CRT和_ATL_STATIC_REGISTRY。



2:

C Run-Time Library (without iostream)
Characteristics
Option
Defined

LIBC.LIB
a statically linked library for single-threaded programs

(Single threaded, static link)
/ML


LIBCMT.LIB
a statically linked library that supports multithreaded programs

(Multithreaded, static link)
/MT
_MT

MSVCRT.LIB
Multithreaded, dynamic link (import library for MSVCRT.DLL)
/MD
_MT, _DLL




解決方法:


下面方法中的任何一個都可以糾正這個錯誤:

Ø 去除_ATL_MIN_CRT這個預處理符號;

Ø 打開stdafx.cpp,注釋掉#include <atlimpl.cpp>這句話,然后編譯,即可;

Ø 在工程的配置對話框的Link頁面上,"ignore libraries"編輯框中輸入Libcmt.lib,然后編譯,如下圖所示:


你將會得到幾個“unresolved external”的錯誤,如下所示。


這個列表就是你用到的CRT的函數。

Look for things that you think may be pulling in the startup code and remove them if you can.Instead, use their Win32 equivalents. For example, use lstrcmp() instead of strcmp(). Known functions that require CRT startup code are some of the string and floating point functions.

其他:
我的VC IDE是6.0版本和SP5,如果用ATL COM AppWizard創建Service (EXE)工程。在這種情況下,它的RelMinDependency版本的配置中就沒有定義_ATL_MIN_CRT符號!這和微軟聲稱的“Service EXE Created with ATL COM AppWizard Doesn't Build in Release Mode”不一樣,可能這是一個已經被FIX了的Bug。





Written by zhengyun



參考文獻:

1. 《INFO: Active Template Library (ATL) 2.0 Readme File [Q165259]》

2. 《INFO: LNK2001 on CRT Symbols in ATL Release Build [Q165076]》



  回復  更多評論   

# re: error LNK2001: unresolved external symbol _main解決辦法 2008-10-21 21:17 isabc

http://dev.csdn.net/article/12/12676.shtm  回復  更多評論   

廣告信息(免費廣告聯系)

中文版MSDN:
歡迎體驗

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            性娇小13――14欧美| 一区二区高清视频| 亚洲第一网站免费视频| 免费视频一区二区三区在线观看| 一区二区精品在线| 免费亚洲一区二区| 亚洲欧洲另类| 欧美国产日韩a欧美在线观看| 久久久一区二区三区| 国内久久视频| 一本久久综合| 亚洲精品乱码久久久久| 亚洲一级在线| 亚洲在线观看| 蜜臀a∨国产成人精品| 一区二区三区 在线观看视频| 亚洲色图在线视频| 夜夜嗨av一区二区三区网站四季av | 欧美中文字幕精品| 久久大逼视频| 亚洲女女做受ⅹxx高潮| 欧美日韩岛国| 久久精品人人爽| 欧美日韩国产综合网| 欧美 亚欧 日韩视频在线| 欧美日韩一区二区视频在线 | 午夜久久资源| 午夜精品短视频| 欧美精品一区二区三区一线天视频 | 亚洲午夜激情网页| 亚洲午夜国产成人av电影男同| 午夜视频久久久| 久久精品国产亚洲5555| 国产在线高清精品| 久久er精品视频| 亚洲日本理论电影| 久久青草久久| 亚洲国产成人在线播放| 欧美日韩成人在线观看| 鲁大师成人一区二区三区| 国产精品美女诱惑| 亚洲一区二区三区四区视频| 久久久国产精品一区二区三区| 国产精品私拍pans大尺度在线| 久久九九国产精品| 国内揄拍国内精品久久| 久久精品一区二区国产| 亚洲欧洲日本国产| 欧美在线观看一二区| 亚洲精品一区在线| 国产午夜精品一区理论片飘花| 猛男gaygay欧美视频| 欧美一级视频一区二区| 一本色道88久久加勒比精品 | 国产视频一区欧美| 夜夜嗨av一区二区三区网站四季av | 久久精品盗摄| 国产精品三级视频| 亚洲欧美日韩视频二区| 久久婷婷丁香| 一区二区三区国产在线| 一区二区三区在线视频播放| 国产精品乱码人人做人人爱| 欧美国产亚洲另类动漫| 欧美视频在线视频| 欧美日韩黄色一区二区| 久久综合色8888| 欧美在线在线| 午夜亚洲性色视频| 亚洲电影第三页| 美女视频黄免费的久久| 欧美va亚洲va国产综合| 欧美www视频在线观看| 老司机久久99久久精品播放免费| 亚洲欧美国产77777| 国内精品久久久久影院色| 你懂的视频一区二区| 亚洲天堂av高清| 国外精品视频| 亚洲一品av免费观看| 亚洲精品久久久久久久久久久久| 亚洲国产成人精品久久久国产成人一区| 一本色道久久加勒比88综合 | 亚洲欧美日韩另类| 最新亚洲一区| 欧美美女操人视频| 一级成人国产| 中日韩高清电影网| 国产欧美精品日韩| 美女露胸一区二区三区| 蜜臀久久久99精品久久久久久| 尤物九九久久国产精品的特点| 欧美激情精品| 国产精品盗摄一区二区三区| 久久国产日韩| 久久综合久久久久88| 一本色道久久综合亚洲精品不| av成人免费在线观看| 国产视频欧美视频| 免费在线观看成人av| 欧美日韩亚洲一区在线观看| 欧美一区二区免费视频| 久久免费视频观看| 中文亚洲视频在线| 欧美一区二区免费| 91久久国产综合久久| 亚洲网站在线看| 一区二区视频免费在线观看| 99精品视频网| 永久免费毛片在线播放不卡| 日韩天天综合| 影音先锋国产精品| 亚洲视频一区二区在线观看| 精品成人一区二区| 亚洲色图在线视频| 亚洲国产日韩在线一区模特| 先锋影音一区二区三区| 一区二区三区四区国产| 久久美女性网| 欧美一级午夜免费电影| 欧美激情在线观看| 乱码第一页成人| 国产精品一区二区黑丝| 日韩亚洲不卡在线| 亚洲欧洲综合| 久久久国产视频91| 欧美在线观看视频一区二区| 欧美日韩亚洲一区二区三区| 亚洲第一综合天堂另类专| 国产精品日韩欧美一区二区| 亚洲精品国产精品国自产在线| 在线不卡视频| 欧美综合二区| 久久高清免费观看| 国产精品视频网站| 中日韩男男gay无套| 在线中文字幕日韩| 欧美精品一线| 红桃视频成人| 亚洲欧美区自拍先锋| 亚洲视频精品在线| 欧美激情成人在线| 亚洲电影免费观看高清| 永久久久久久| 久久久亚洲综合| 看片网站欧美日韩| 伊人久久婷婷色综合98网| 久久精品伊人| 美女被久久久| 在线看日韩欧美| 美女91精品| 亚洲国产精品女人久久久| 91久久久精品| 欧美久久一区| aa级大片欧美| 欧美一区免费视频| 国产午夜精品理论片a级大结局| 亚洲欧美中文在线视频| 久久精品欧美日韩| 亚洲第一福利在线观看| 欧美激情视频给我| 在线视频精品一| 久久精品一级爱片| 亚洲大片在线| 欧美日韩一区在线观看视频| 亚洲午夜精品网| 久久精品在线视频| 亚洲国产精品激情在线观看| 欧美成人亚洲成人| 亚洲少妇在线| 玖玖玖免费嫩草在线影院一区| 亚洲黑丝在线| 欧美天堂亚洲电影院在线观看| 欧美一区二区三区久久精品茉莉花| 久久婷婷影院| av成人免费观看| 国产女人精品视频| 欧美成在线视频| 亚洲欧美日韩精品在线| 欧美黄色片免费观看| 亚洲一区二区在线播放| 激情六月综合| 欧美性片在线观看| 久久米奇亚洲| 亚洲女女做受ⅹxx高潮| 亚洲电影在线看| 久久精品99无色码中文字幕| 99热这里只有精品8| 国精产品99永久一区一区| 欧美精品一区三区| 久久久国产精品一区| 亚洲午夜91| 亚洲区免费影片| 久久综合国产精品台湾中文娱乐网| 夜夜嗨av色一区二区不卡| 黄色影院成人| 国产精品视频一二| 欧美日韩中文| 欧美日韩高清一区| 蜜桃精品久久久久久久免费影院|