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

山寨:不是最好的,是最適合我們的!歡迎體驗山寨 中文版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 閱讀(9927) 評論(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>
            国产久一道中文一区| 亚洲欧美日本国产专区一区| 亚洲直播在线一区| 欧美亚州一区二区三区| 午夜精品久久久| 午夜在线观看免费一区| 狠狠色噜噜狠狠狠狠色吗综合| 久久婷婷综合激情| 美日韩丰满少妇在线观看| 亚洲三级电影全部在线观看高清| 狠狠干成人综合网| 久久一二三国产| 久久理论片午夜琪琪电影网| 亚洲国产你懂的| 亚洲精品久久嫩草网站秘色| 国产精品国产自产拍高清av| 欧美一级黄色网| 久久亚裔精品欧美| 99精品久久久| 亚洲风情在线资源站| 国产一在线精品一区在线观看| 久久久国产91| 母乳一区在线观看| 亚洲无亚洲人成网站77777| 亚洲午夜精品17c| 亚洲第一级黄色片| 欧美日韩极品在线观看一区| 亚洲一区视频在线| 久久精品国亚洲| 亚洲午夜久久久| 久久久久欧美| 亚洲免费一级电影| 裸体一区二区三区| 欧美一级二级三级蜜桃| 欧美高清在线一区| 午夜在线观看免费一区| 欧美大片一区二区| 久久精品盗摄| 欧美网站在线| 亚洲福利在线视频| 国产亚洲精品自拍| 一区二区三区欧美激情| 亚洲高清免费视频| 欧美一区国产一区| 午夜视频在线观看一区| 欧美精品导航| 欧美大片一区二区| 国产一区二区三区无遮挡| 一区二区三区国产精华| 亚洲精品国产精品国自产在线 | 一区二区欧美精品| 久久婷婷国产麻豆91天堂| 欧美在线高清| 国产精品海角社区在线观看| 亚洲国产精品成人一区二区| 韩日欧美一区二区| 亚洲欧美综合另类中字| 亚洲欧美国产毛片在线| 欧美区一区二| 亚洲精品国产品国语在线app| 亚洲成人影音| 久久影院午夜论| 亚洲高清久久| 美女精品在线| 欧美激情一区二区在线 | 久久免费视频网站| 亚洲欧美日韩一区二区三区在线观看 | 亚洲国产精品一区二区久| 亚洲成人在线| 免费久久久一本精品久久区| 欧美伊人久久久久久久久影院| 欧美国产先锋| 亚洲韩日在线| 亚洲精品在线观| 欧美风情在线| 亚洲欧洲在线免费| 99精品欧美一区| 欧美日韩国产综合在线| 亚洲精品在线一区二区| 中文久久乱码一区二区| 欧美日韩黄色大片| 亚洲一区二区精品视频| 久久久www| 在线观看视频一区二区| 免费看的黄色欧美网站| 亚洲乱码国产乱码精品精可以看| 日韩一级黄色片| 国产精品每日更新在线播放网址| 亚洲欧美日韩在线一区| 久久久久久网| 亚洲国产一区视频| 欧美天堂亚洲电影院在线观看 | 亚洲一区二区精品在线观看| 欧美四级电影网站| 午夜精品视频网站| 久久综合网色—综合色88| 亚洲激情不卡| 国产精品久久午夜| 久久国产精品免费一区| 麻豆成人在线观看| 日韩午夜中文字幕| 国产欧美 在线欧美| 麻豆freexxxx性91精品| 日韩视频免费在线| 久久资源av| 亚洲四色影视在线观看| 伊人激情综合| 国产精品国产三级国产专播精品人| 欧美亚洲一区三区| 日韩视频在线一区二区三区| 久久精品导航| 夜夜嗨av一区二区三区| 国产综合色精品一区二区三区| 欧美日韩精品久久| 久久婷婷国产综合国色天香| 一区二区三区四区国产精品| 欧美成人性生活| 性欧美办公室18xxxxhd| 日韩亚洲成人av在线| 国产一区二区三区最好精华液| 欧美日韩综合另类| 欧美成人三级在线| 久久精品免费观看| 亚洲欧美日韩在线不卡| 日韩一级欧洲| 亚洲人成免费| 亚洲福利国产| 欧美va日韩va| 欧美成人精品影院| 久久亚洲捆绑美女| 欧美一区二区三区婷婷月色| 91久久夜色精品国产网站| 国产伦理一区| 国产精品福利在线观看| 久色成人在线| 欧美一区免费| 亚洲欧美欧美一区二区三区| 在线视频一区二区| 夜夜嗨av色综合久久久综合网| 亚洲综合视频网| 一区二区三区欧美日韩| 亚洲国产综合在线| 在线成人国产| 黄色成人av在线| 精品9999| 黄网站色欧美视频| 好吊妞**欧美| 亚洲国产91色在线| 最新国产成人在线观看| 亚洲国产日韩欧美一区二区三区| 精品福利av| 亚洲国产一区视频| 亚洲精选在线观看| 一二美女精品欧洲| 亚洲女女做受ⅹxx高潮| 午夜精品亚洲| 久久久久九九视频| 免费看亚洲片| 亚洲激情电影在线| 亚洲乱码久久| 亚洲欧美日韩在线播放| 久久精品欧美日韩| 欧美成人伊人久久综合网| 欧美日韩国产经典色站一区二区三区| 欧美精品系列| 国产精品综合网站| 黄色一区二区三区四区| 亚洲激情自拍| 午夜激情亚洲| 玖玖玖国产精品| 亚洲六月丁香色婷婷综合久久| 亚洲一区二区三区视频| 久久狠狠久久综合桃花| 欧美精品在线免费观看| 国产精品一区二区男女羞羞无遮挡 | 午夜精品免费| 另类激情亚洲| 国产精品电影在线观看| 国产综合久久久久久鬼色| 99爱精品视频| 久久婷婷成人综合色| 亚洲另类一区二区| 欧美一区二区三区四区视频| 欧美高清在线一区二区| 国产日韩精品在线播放| 亚洲伦伦在线| 久久日韩精品| 在线一区二区日韩| 久久久国产91| 国产精品乱子乱xxxx| 亚洲国产精品一区二区三区| 亚洲欧美中文另类| 亚洲国产欧美一区二区三区久久| 亚洲欧美日韩天堂一区二区| 欧美精品免费在线观看| 国产在线不卡视频| 亚洲一区二区三区在线观看视频| 欧美xx69| 久久精品夜色噜噜亚洲a∨ | 久久精品二区三区|