国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

提示出現unresolved external symbol _main的解決方法

2020-01-24 03:48:19
字體:
來源:轉載
供稿:網友
提示出現unresolved external symbol _main搜了下找了下原因如下
在創建MFC項目時, 不使用MFC AppWizard向導, 如果沒有設置好項目參數, 就會在編譯時產生很多連接錯誤, 如error LNK2001錯誤, 典型的錯誤提示有:

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

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

msvcrtd.lib(crtexew.obj) : error LNK2001: unresolved external symbol _WinMain@16

nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __beginthreadex

nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex





下面介紹解決的方法:

1. Windows子系統設置錯誤, 提示:

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

Windows項目要使用Windows子系統, 而不是Console, 可以這樣設置:

[Project] --> [Settings] --> 選擇"Link"屬性頁,

在Project Options中將/subsystem:console改成/subsystem:windows





2. Console子系統設置錯誤, 提示:

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

控制臺項目要使用Console子系統, 而不是Windows, 設置:

[Project] --> [Settings] --> 選擇"Link"屬性頁,

在Project Options中將/subsystem:windows改成/subsystem:console





3. 程序入口設置錯誤, 提示:

msvcrtd.lib(crtexew.obj) : error LNK2001: unresolved external symbol _WinMain@16

通常, MFC項目的程序入口函數是WinMain, 如果編譯項目的Unicode版本, 程序入口必須改為wWinMainCRTStartup, 所以需要重新設置程序入口:

[Project] --> [Settings] --> 選擇"Link"屬性頁,

在Category中選擇Output,

再在Entry-point symbol中填入wWinMainCRTStartup, 即可





4. 線程運行時庫設置錯誤, 提示:

nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __beginthreadex

nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex

這是因為MFC要使用多線程時庫, 需要更改設置:

[Project] --> [Settings] --> 選擇"C/C++"屬性頁,

在Category中選擇Code Generation,

再在Use run-time library中選擇Debug Multithreaded或者multithreaded

其中,

Single-Threaded 單線程靜態鏈接庫(release版本)

Multithreaded 多線程靜態鏈接庫(release版本)

multithreaded DLL 多線程動態鏈接庫(release版本)

Debug Single-Threaded 單線程靜態鏈接庫(debug版本)

Debug Multithreaded 多線程靜態鏈接庫(debug版本)

Debug Multithreaded DLL 多線程動態鏈接庫(debug版本)

單線程: 不需要多線程調用時, 多用在DOS環境下

多線程: 可以并發運行

靜態庫: 直接將庫與程序Link, 可以脫離MFC庫運行

動態庫: 需要相應的DLL動態庫, 程序才能運行

release版本: 正式發布時使用

debug版本: 調試階段使用
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 舟山市| 东源县| 苏尼特左旗| 长海县| 兴城市| 米泉市| 永济市| 延吉市| 中方县| 安平县| 苍溪县| 武平县| 开平市| 大荔县| 西青区| 乌拉特前旗| 奈曼旗| 雷山县| 云林县| 商南县| 阿尔山市| 清镇市| 珲春市| 临武县| 崇信县| 宁河县| 永年县| 福州市| 姜堰市| 咸宁市| 乐安县| 武夷山市| 临西县| 周口市| 临清市| 巴彦淖尔市| 凤凰县| 盐亭县| 永吉县| 涿鹿县| 榆中县|