VS2023編譯鏈接錯(cuò)誤小結(jié)_第1頁
VS2023編譯鏈接錯(cuò)誤小結(jié)_第2頁
VS2023編譯鏈接錯(cuò)誤小結(jié)_第3頁
VS2023編譯鏈接錯(cuò)誤小結(jié)_第4頁
VS2023編譯鏈接錯(cuò)誤小結(jié)_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

本文格式為Word版,下載可任意編輯——VS2023編譯鏈接錯(cuò)誤小結(jié)1.runerror:沒有找到MSVCR80D.dll,因此這個(gè)應(yīng)用程序未能啟動(dòng)。重新安裝應(yīng)用程序可能會(huì)修復(fù)此問題?解決方法:

方法一、微軟對(duì)于這個(gè)問題應(yīng)當(dāng)也有處理,不過感覺不是很人性化。在“屬性->配置屬性->清單工具->常規(guī)“下有一個(gè)〞使用FAT32解決方法,把它選成是,就可以了。注意:一定要先配置這個(gè)選項(xiàng),然后再編譯工程,要不然還是不好用

方法二、找到你的工程的文件夾,如(myproject),找到其下的myproject\\myproject\\Debug\\myproject.rec,把它刪掉(刪掉整個(gè)Debug目錄也可以),重新編譯就可以了。

2.iostream.h和iostream

iostream.h和iostream兩個(gè)是不同的東西。前者是傳統(tǒng)庫函數(shù)中的頭文件,后者(沒有.h)是標(biāo)準(zhǔn)庫中的頭文件。而標(biāo)準(zhǔn)庫中的東西,都是定義在std名字空間里,是為了防止污染全局名字空間。假使使用iostream頭文件,就需要引用std,即加上usingnamespacestd。

3.warningLNK4204:“?\\Debug\\vc80.pdb〞缺少引用模塊的調(diào)試信息;正在鏈接對(duì)象,宛如沒有調(diào)試信息一樣

假使生成的是debug模式的可執(zhí)行文件但鏈接的卻是release庫,或者假使生成的是release版本的可執(zhí)行文件但鏈接的卻是debug庫,那么就出現(xiàn)上述問題。

4.warning:去掉字符串操作函數(shù)\解決方法:

方法一、右鍵該項(xiàng)目,在Project->Properties->C/C++->預(yù)處理器->預(yù)處理器定義中添加_CRT_SECURE_NO_DEPRECATE標(biāo)記即可。

方法二、Project->Properties->C/C++->CommandLine參與/D\分析:

出現(xiàn)這樣的警告,是由于VC2023中認(rèn)為CRT中的一組函數(shù)假使使用不當(dāng),可能會(huì)產(chǎn)生諸如內(nèi)存泄露、緩沖區(qū)溢出、非法訪問等安全問題。這些函數(shù)如:strcpy、strcat等。對(duì)于這些問題,可以依照上述方法使用_CRT_SECURE_NO_DEPRECATE標(biāo)記來忽略這些警告問題。

5.errorLNK2023:unresolvedexternalsymbol__security_cookiereferencedinfunction...解決方法:

編譯時(shí)出現(xiàn)了這個(gè)錯(cuò)誤,Properties>C/C++>CodeGeneration>BufferSecurityCheck,設(shè)置為NO(/GS-)

6.errorLink:具有一致時(shí)間戳的名為.pch的PCH已存在于.obj中,使用第一個(gè)PCH?解決方法:

將屬性->C/C++->預(yù)編譯頭項(xiàng),改為使用預(yù)編譯頭。

7.errorLink:默認(rèn)庫“MSVCRT〞與其他庫的使用沖突解決方法:

開啟此項(xiàng)目的“屬性頁〞對(duì)話框;單擊“鏈接器〞文件夾;單擊“輸入〞屬性頁;選擇

“忽略所有默認(rèn)庫〞屬性或在“忽略指定庫〞屬性中指定要忽略的庫列表?!懊钚楔晫傩皂搶@示對(duì)這些屬性所做的更改的效果。在linkerinput附加依靠項(xiàng)中添加:/nodefaultlib:msvcrt.lib即可解決該問題。

8.fatalerrorC1083:Cannotopenprecompiledheaderfile:'Debug/.pch':Nosuchfileordirectory分析:

由于該模塊沒有包括預(yù)編譯頭文件“stdafx.h〞的起因。

VC用一個(gè)stdafx.cpp包含頭文件stdafx.h,然后在stdafx.h里包含大部分系統(tǒng)頭文件,這樣編譯時(shí)VC就通過編譯stdafx.cpp把大部分系統(tǒng)頭文件預(yù)編譯進(jìn)來了,在Debug目錄下有一個(gè)很大的文件*.pch,這里就存儲(chǔ)了預(yù)編譯信息。根據(jù)這個(gè)原理,假使這個(gè)pch損壞了或被刪除了,系統(tǒng)重新編譯時(shí)就會(huì)埋怨“cannotopenprecompiledheaderfiledebug/*.pch〞。解決方法:

開啟Project->Setting對(duì)話框選C++頁,將Category下拉式列表框選中PrecompiledHeaders,最簡單的方法就是選中第一個(gè)選項(xiàng)“Notusing\,這樣就根本不用預(yù)編譯頭也不去尋覓pch文件,就不會(huì)出錯(cuò)了,但是這樣做的后果是每次編譯、鏈接都花更多的時(shí)間。也可以選其次個(gè)選項(xiàng)〞Automatic...\然后在“Throughheader〞力填上stdafx.h,這樣假使沒有pch文件系統(tǒng)會(huì)自動(dòng)生成一個(gè)pch,假使有的話就使用這個(gè)pch,這個(gè)選項(xiàng)是比較“智能〞的。第三個(gè)選項(xiàng)是強(qiáng)行創(chuàng)立一個(gè)pch文件,第四個(gè)選項(xiàng)是直接使用pch文件。當(dāng)然“Throughheaders〞里都填stdafx.h了。

9.鏈接時(shí)出錯(cuò)提醒:

LIBCMT.lib(crt0dat.obj):errorLNK2023:__amsg_exitalreadydefinedinMSVCRTD.lib(MSVCR80D.dll)解決方法:

ProjectProperties->Linker->Input中,右邊有個(gè)IgnoreSpecificLibrary,輸入\確定即可。

10.關(guān)于VS2023編譯的程序運(yùn)行時(shí)提醒“由于應(yīng)用程序配置不正確,應(yīng)用程序未能啟動(dòng)〞的問題解決方法:

方法一、修改項(xiàng)目屬性,靜態(tài)鏈接mfc庫,此時(shí)在屬性->配置屬性->C/C++->代碼生成里的運(yùn)行時(shí)庫項(xiàng)會(huì)自動(dòng)變成多線程。

方法二、在MicrosoftVisualStudio8\\VC\\redist\\x86下,根據(jù)Manifest文件中的version屬性,將相應(yīng)的Microsoft.VC80.CRT.manifest和Microsoft.VC80.MFC.manifest文件拷貝到應(yīng)用程序目錄下。若使用了atl庫,還需要拷貝Microsoft.VC80.ATL.manifest文件。

11.編譯錯(cuò)誤

mt.exe:generalerrorc101008d:Failedtowritetheupdatedmanifesttotheresourceoffile\解決方法:

在項(xiàng)目屬性——配置屬性——鏈接器——清單文件中,把生成清單改成否就行了?;蛘咴陧?xiàng)目屬性——配置屬性——清單工具——輸入和輸出中,把嵌入清單改成否也行。分析:

由于VC需要把生成的文件中嵌入MANIFEST文件,而由于殺毒軟件之類的會(huì)握有這個(gè)文件句柄(由于殺毒軟件發(fā)現(xiàn)這個(gè)EXE,DLL正在讀寫),于是VC就寫不進(jìn)去了,方法是暫時(shí)關(guān)閉殺毒軟件,這樣就不用改寫MANIFECT。

12.rutil.lib(Socket.obj):errorLNK2023:無法解析的外部符號(hào)__imp__WSACleanup@0,該符號(hào)在函數(shù)\void__cdeclresip::initNetwork(void)\中被引用

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論