久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

分享:LIBCD.lib(crt0.obj) : error LNK2001: unres...

 verychen 2011-04-11
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
在創(chuàng)建MFC項目時,如果沒有設(shè)置好項目參數(shù), 就會在編譯時產(chǎn)生很多連接錯誤, 如我今天遇到的:

LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main

解決方法:

控制臺項目要使用windows子系統(tǒng), 而不是console, 設(shè)置:
[Project] --> [Settings] --> 選擇"Link"屬性頁,
在Project Options中將/subsystem:console改成/subsystem:windows.

解決方法方法恰恰相反的情況:

LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16


解決方法是:將project-settings-link的project options里的 /subsystem:windows
改成 /subsystem:console

此類錯誤的原因在于:

在新建工程時要分清Win32 Application和Win32 Console Application.它們都是工作在32位Windows環(huán)境的程序.其中Win32 Application 就是普通的常見的窗口應(yīng)用程序,,它們都是所謂的GUI(Graphics User Interface圖形用戶接口.而Win32 Console Application(win32控制臺應(yīng)用程序)往往是像MS-DOS窗口(XP中叫命令提示符)的樣子出現(xiàn),或者叫CUI(Character User Interface字符用戶接口)。

因為Win32 Application的入口函數(shù)為WinMain
Win32 Console Application的入口函數(shù)是main
也就是說,如果你編寫傳統(tǒng)的C程序,,必須建立Win32 Console程序,,但VC里面默認(rèn)的是Win32 Application,,于是上面提及的鏈接錯誤就就經(jīng)常出現(xiàn)了
而Win32 Application和Win32 Console的區(qū)別就在于VC里鏈接參數(shù)不同

我還搜到其他的類似的幾種error LNK2001錯誤:

1.libcmtd.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Windows項目要使用Windows子系統(tǒng), 而不是Console, 可以這樣設(shè)置:
[Project] --> [Settings] --> 選擇"Link"屬性頁,
在Project Options中將/subsystem:console改成/subsystem:windows

2.程序入口設(shè)置錯誤, 提示:
msvcrtd.lib(crtexew.obj) : error LNK2001: unresolved external symbol _WinMain@16
通常, MFC項目的程序入口函數(shù)是WinMain, 如果編譯項目的Unicode版本, 程序入口必須改為wWinMainCRTStartup, 所以需要重新設(shè)置程序入口:
[Project] --> [Settings] --> 選擇"C/C++"屬性頁,
在Category中選擇Output,
再在Entry-point symbol中填入wWinMainCRTStartup, 即可

3.線程運行時庫設(shè)置錯誤, 提示:
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __beginthreadex
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex
這是因為MFC要使用多線程時庫, 需要更改設(shè)置:
[Project] --> [Settings] --> 選擇"C/C++"屬性頁,
在Category中選擇Code Generation,
再在Use run-time library中選擇Debug Multithreaded或者multithreaded
其中,
Single-Threaded                  單線程靜態(tài)鏈接庫(release版本)
Multithreaded                    多線程靜態(tài)鏈接庫(release版本)
multithreaded DLL                多線程動態(tài)鏈接庫(release版本)
Debug Single-Threaded            單線程靜態(tài)鏈接庫(debug版本)
Debug Multithreaded              多線程靜態(tài)鏈接庫(debug版本)
Debug Multithreaded DLL          多線程動態(tài)鏈接庫(debug版本)
單線程: 不需要多線程調(diào)用時, 多用在DOS環(huán)境下
多線程: 可以并發(fā)運行
靜態(tài)庫: 直接將庫與程序Link, 可以脫離MFC庫運行
動態(tài)庫: 需要相應(yīng)的DLL動態(tài)庫, 程序才能運行
release版本: 正式發(fā)布時使用
debug版本: 調(diào)試階段使用

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多