vs編譯失敗
㈠ vs2013 創建c++項目時編譯出錯
這個是設置錯誤,就是編譯器編譯鏈接的時候找不到源文件(就是頭文件),菜單-》project(項目)->seting->c++或者link那項,找一下option,是否有設置過了,或者看一下CATEGORY(選general)這一項是否選對了,一般第一次用的時候系統可能默認錯了。
㈡ VS2010新建工程編譯就出錯了
提示說明在轉換到COFF文件因為錯誤失敗了(VS2010裝好了,一般是不會有[file invalid] 錯的)。
而完成轉換工作的是cvtres.exe這個程序。出現上面錯誤的根本原因是系統中存在有多個版本的 cvtres.exe。
系統目錄下版本: C:\Windows\Microsoft.NET\Framework\v4.0.30319\cvtres.exe
VS目錄下版本: C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\cvtres.exe
如果是64位系統,那麼還有個在 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\cvtres.exe
不過Framework 和Framework64下倆個版本是一致的,而且由於系統更新,一般比VS目錄下的版本新。
到此解決方法也就明顯簡單了,只需要將舊版的重命名或者刪除,不過我一般習慣重命名,比如在後面加上 -old。
㈢ 為什麼我的vs2010 總是編譯失敗
轉載:
連接器LNK是通過調用cvtres.exe完成文件向coff格式的轉換的,所以出現這種錯誤的原因就是cvtres.exe出現了問題。
在電腦裡面搜索一下cvtres.exe,發現存在多個文件,使用最新的cvtres.exe替換老的文件即可,替換之前記得備份一下,如果不對,可以替換回來。
例如:我的電腦裡面安裝了vs2010,最近更新了系統,打了一些補丁,結果就出現這種錯誤了。在電腦裡面搜索發現
C:\Program Files\Microsoft Visual Studio 10.0\VC\bin
C:\Windows\winsxs\x86_netfx-cvtres_for_vc_and_vb_b03f5f7f11d50a3a_6.1.7600.16385_none_ba476986f05abc65
C:\Windows\Microsoft.NET\Framework\v4.0.30319
這三個路徑裡面都有cvtres.exe文件,於是我嘗試使用第二個路徑裡面的文件替換第一個路徑的文件,問題解決。
參考資料如下:
http://stackoverflow.com/questions/10888391/link-fatal-error-lnk1123-failure-ring-conversion-to-coff-file-invalid-or-c/14144713#14144713
㈣ vs2010 的編譯出錯: error midl2212:error while to file.\TestOcx_i.c。這是什麼原因跪求解決方法
將midl.exe cl.exe的路徑添加到環境變數PATH里,使用命令提示窗口手動命令midl xxx.idl,即可成功。親測 OK ,midl.exe 如果找不到,需要安裝windows sdk (參考MSDN).
驗證環境:
windows 10
midl path :C:\Program Files (x86)\Windows Kits\10\bin\x64
vs2017
㈤ vs2013運行出現問題,編譯不了,提示fatal error C1069: 無法讀取編譯器命令行
1 頭部#include文件錯誤,#include 後面的包含的文件時,如果使用的是 "<>" 尖括弧的話, 表示讓編譯器在系統頭文件夾中查找對應名字的頭文件, 當使用""引號時,就是讓編譯器在當前程序目錄下查找對應名字的頭文件,如果沒有找到,則編譯器會再在系統頭文件夾中查找該頭文件. 注意#include文件到位置。
2 感覺是編譯器兼容問題,比如:include 「streams.h」有的情況下在vs2003編譯通過的情況下,在vs。net編譯無法通過,改成,include "streams"去掉.h就可以了。
3 有可能是文件整理後移動位置,將與編譯頭文件和cpp文件目錄修改導致錯誤,用記事本打開.dsp文件,找到與編譯cpp文件,少了個與編譯開關所以不能生成與編譯頭文件:.pch
加入開關:# ADD CPP /Yc"。h文件"。例如:
SOURCE=.\StdAfx.cpp
# End Source File
# Begin Source File
發現少了個與編譯開關所以不能生成與編譯頭文件:。pch
加入開關:# ADD CPP /Yc"stdafx.h"
SOURCE=.\StdAfx.cpp
# ADD CPP /Yc"stdafx.h"
# End Source File
# Begin Source File
4 在編譯directshow源碼的時候注意將C:\DXSDK\Samples\C++\DirectShow\BaseClasses下的文件先進性一次編譯。
5 tools->options->directories 里的lib設置問題
6 有的時候需要使用#program comment(lib,"")命令導入一個lib庫文件。讓編譯器在該庫文件中搜索,引入的頭文件。