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

山寨:不是最好的,是最適合我們的!歡迎體驗山寨 中文版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 閱讀(9933) 評論(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>
            亚洲人永久免费| 国产精品免费视频xxxx| 狼狼综合久久久久综合网| 久久成人国产| 久久综合99re88久久爱| 欧美亚州在线观看| 日韩一级在线| 亚洲午夜黄色| 嫩草伊人久久精品少妇av杨幂| 久久久av毛片精品| 一本到高清视频免费精品| 久久亚洲一区二区三区四区| 久久久夜色精品亚洲| 欧美国产日本韩| 久久久久久久久蜜桃| 国产伦精品一区二区三区照片91| 欧美一级在线播放| 欧美日韩第一区| 亚洲特级毛片| 欧美老女人xx| 亚洲国产精品va| 久久国产欧美| 欧美a一区二区| 欧美日韩精品久久| 亚洲无亚洲人成网站77777| 激情综合久久| 久久在精品线影院精品国产| 亚洲福利视频三区| 亚洲精品国产系列| 亚洲伊人第一页| 蜜臀va亚洲va欧美va天堂| 欧美精品1区2区| 久久黄色网页| 欧美日韩直播| 国产专区精品视频| 久久精品在线| 欧美va日韩va| 韩国成人理伦片免费播放| 久久久之久亚州精品露出| 有坂深雪在线一区| 韩国成人福利片在线播放| 亚洲黄色在线看| 久久精品99国产精品| 亚洲一区二区三区四区五区黄| 亚洲欧洲一区二区三区在线观看| 久久精品五月| 欧美在线三级| 国产精品一区二区三区乱码| 欧美成人午夜视频| 久久国产精品网站| 亚洲在线观看| 亚洲在线观看免费| 欧美一区二区免费视频| 亚洲精选久久| 国产偷自视频区视频一区二区| 一本色道久久综合亚洲精品高清| 亚洲免费av片| 欧美四级电影网站| 欧美三级网址| 一区二区高清视频在线观看| 久久久久久久久伊人| 亚洲国内高清视频| 欧美在线91| 久久性天堂网| 怡红院av一区二区三区| 亚洲精品国产日韩| 亚洲在线一区二区| 狠狠狠色丁香婷婷综合激情| 午夜视频精品| 欧美大片91| 欧美黄在线观看| 噜噜噜久久亚洲精品国产品小说| 亚洲一区区二区| 亚洲视频精选| 美女主播视频一区| 亚洲人www| 一本色道久久综合亚洲精品高清| 亚洲一区视频在线| 亚洲第一黄网| 99精品国产一区二区青青牛奶| 久久精品亚洲国产奇米99| 久久久久国色av免费看影院| 国产欧美日韩视频一区二区三区 | 久久综合久久久久88| 老司机成人网| av成人动漫| 亚洲欧美另类在线| 亚洲一区高清| 日韩一区二区免费高清| 久久精品国产亚洲精品| 一区二区三区回区在观看免费视频| 久久久精品国产免大香伊| 亚洲第一福利在线观看| 亚洲激情在线| 欧美激情视频一区二区三区在线播放| 免费中文字幕日韩欧美| 亚洲人成亚洲人成在线观看图片| 国产欧美日韩不卡| 久久久久99| 久久精品视频一| 一区二区三区免费网站| 亚洲国产国产亚洲一二三| 狠狠色噜噜狠狠色综合久| 亚洲自拍偷拍视频| 亚洲国产欧美在线人成| 午夜国产不卡在线观看视频| 久久丁香综合五月国产三级网站| 裸体丰满少妇做受久久99精品| 国产精品免费看久久久香蕉| 亚洲高清中文字幕| 久久不射中文字幕| 在线观看一区| 精品成人a区在线观看| 亚洲激情成人网| 亚洲一区在线视频| 久久gogo国模裸体人体| 在线亚洲+欧美+日本专区| 免费成人在线观看视频| 99热在这里有精品免费| 国产欧美一区二区三区沐欲| 国内精品伊人久久久久av一坑 | 久久久亚洲成人| 亚洲欧美日韩成人| 欧美激情久久久| 亚洲欧美一区二区原创| 亚洲男女毛片无遮挡| 一区二区三区视频在线观看| 久久久av毛片精品| 99视频精品免费观看| 一区二区av| 亚洲欧美日韩国产| 久久精品久久综合| 欧美日韩精品二区| 一区二区在线免费观看| 亚洲视频每日更新| 欧美激情一区二区三区不卡| 性欧美精品高清| 久久久之久亚州精品露出| 亚洲欧洲日夜超级视频| 欧美成人免费一级人片100| 欧美高清你懂得| 欧美11—12娇小xxxx| 精品成人免费| 国产精品日韩欧美一区二区三区| 国产一区二区在线观看免费播放| 午夜久久福利| 亚洲视频高清| 在线日韩欧美视频| 午夜精品久久久久久| 久久伊人免费视频| 一本一道久久综合狠狠老精东影业 | 一区在线观看视频| 亚洲免费网站| 亚洲欧美日本视频在线观看| 亚洲一区免费看| 亚洲一区二区免费看| 亚洲美洲欧洲综合国产一区| 麻豆精品一区二区av白丝在线| 亚洲国产欧美一区二区三区同亚洲 | 西西裸体人体做爰大胆久久久| 一级日韩一区在线观看| 欧美一区三区二区在线观看| 亚洲资源av| 日韩亚洲视频| 久久精品国产亚洲精品 | 欧美在线观看视频一区二区| 免费日韩视频| 国产精品99久久久久久久女警| 性欧美超级视频| 亚洲一区在线观看免费观看电影高清| 99热免费精品在线观看| 亚洲黄色影院| 国产精品亚洲第一区在线暖暖韩国| 久久五月激情| 亚洲在线一区二区三区| 亚洲欧美美女| 一区二区欧美精品| 欧美一区二区三区免费看 | 国产欧美一区二区三区视频| 欧美少妇一区二区| 久久久99久久精品女同性| 亚洲一区二区三区777| 狠狠色综合一区二区| 久久av一区二区三区| 欧美激情一区二区三区全黄| 国产精品综合不卡av| 亚洲一卡二卡三卡四卡五卡| 久久人人97超碰国产公开结果 | 国产美女高潮久久白浆| 亚洲私人黄色宅男| 亚洲一级特黄| 亚洲国产精品成人综合| 国产亚洲一区二区三区在线观看| 欧美亚洲免费| 国产在线精品成人一区二区三区| 久久综合久久综合久久| 亚洲一区二区久久| 亚洲人成网站精品片在线观看 | 国产一区二区三区高清在线观看| 午夜一区在线|