1. 程式人生 > >VS2010 c++ 錯誤的處理方法 (不斷更新....)

VS2010 c++ 錯誤的處理方法 (不斷更新....)

1錯誤:

fatal error C1010: unexpected endof file while looking for precompiled header. Did you forget toadd '#include"StdAfx.h"' to your source?

#include"StdAfx.h" 你把這個放在標頭檔案裡面就行了

2 vc++程式設計出現錯誤error C2447: missing function header (old-styleformal list?)

原因:函式後面多了分號;

SUNSHINE_APISSN_RETURN SsnWriteProfileString(__in INT nPlugInId, __in_opt LPTSTRlpszGroupName, __in LPTSTR lpszKey, __in LPTSTR lpszValue)

3 errorC2491: 'SsnWriteProfileString' : definition of dllimport function not allowed

錯誤C2491:“SsnWriteProfileString’:dllimport函式的定義不允許的

SUNSHINE_API SSN_RETURNSsnWriteProfileString(__in INT nPlugInId, __in_opt LPTSTR lpszGroupName, __inLPTSTR lpszKey, __in LPTSTR lpszValue)

檢視SUNSHINE_API在 .h檔案中的定義

#ifdefSSNAPI_EXPORTS

#define SUNSHINE_API __declspec(dllexport)

#else

#define SUNSHINE_API __declspec(dllimport)

#endif

#ifdef SSNAPI_EXPORTS新增到#include<stdafx.h>的下面;形如:

#include<stdafx.h>

#defineSSNAPI_EXPORTS

則解決;

在非mfc下使用CString 會導致上面錯誤:

解決辦法:

(1)如果你使用VC.net那麼:使用MFC:包含cstringt.h;不使用MFC:包含atlstr.h

(2)或者 #include <afx.h>

刪除 .cpp 檔案中的

#ifdef _DEBUG

#undef THIS_FILE

static char THIS_FILE[]=__FILE__;

#define new DEBUG_NEW

#endif

6 問題:

error C2440: 'initializing' : cannot convert from 'constchar [34]' to 'TCHAR [128]'

錯誤C2440:“初始化”:不能把'字元常量[34]' ' TCHAR[128]'

原因:編譯選項有沒有開了UNICODE;

做法:

vs2010下設定unicode編譯選項,去掉unicode模式,具體設定方法為:

專案-》屬性-》配置屬性-》字符集-》未設定

 project->Properties->ConfigurationProperties->General->Character Set->Not Set

7問題:

C1083:Cannot open include file: 'stdafx.h': No such file or directory

C1083:無法開啟包括檔案:stdafx.h:沒有這樣的檔案或目錄

解決:stdafx.h檔案和工程的.h檔案放在一個位置;

8 error C2065: “cout”: 未宣告的識別符號

解決方法:加上

#include   <iostream> 

using   namespace   std;

9 錯誤:

error C3872: '0x3000': thischaracter is not allowed in an identifier

錯誤C3872'0 X3000“:此字元不允許在識別符號

0x3000是漢語的空格,也就是全形空格,相當於一個漢字,但你又看不見它。

你知道的,像逗號,有半形(,)和全形(,)之分的,其實空格也有。

0x3000是全形的空格,0x20是半形的空格。

你最好把這個語句的後面空白部分,都刪除掉,免得有不可見的全形空格。

10  加上 _T

error C2664: 'intswprintf_s(wchar_t *,size_t,const wchar_t *,...)' : cannot convert parameter 3from 'const char [24]' to 'const wchar_t *'

錯誤C2664:' int swprintf年代(wchar t *,大小t,t * wchar const,…)“:不能轉換引數3“const char[24]”“const wchar t *’

_T("C:\\Program\\rwini_%d.ini")  相當於 LPTSTR

11無法開啟預編譯標頭檔案的解決方法

編輯程式,按Ctrl+F7,出現下列錯誤:

fatal error C1083: 無法開啟預編譯標頭檔案:“Debug/UGFace.pch”: No such file or  directory  

解決方法:修改:專案->屬性->C/C++->預編譯頭->不使用預編譯頭即可。

12

1>inifile.obj :error LNK2019: unresolved external symbol "private: __thiscallCsaveFileNameA::CsaveFileNameA(class CFileNameA *,classstd::basic_string<char,struct std::char_traits<char>,classstd::allocator<char>> const &)"([email protected]@[email protected]@@[email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected]@@Z)referenced in function "public: class CsaveFileNameA * __thiscallCFileNameA::AddFileName(class std::basic_string<char,structstd::char_traits<char>,class std::allocator<char>>)"([email protected]@@[email protected]@[email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected]@@Z)

錯誤是CsaveFileNameA沒有實現,即沒有寫CsaveFileNameA建構函式和解構函式

13

1>e:\gc\src\core\inifile.h(344):error C2143: syntax error : missing ';' before '*'

錯誤原因

CIniFileW*  PIniFile;應用的類在該類的下面,未定義;

classCFileNameW

{

public:

    staticconstwchar_t*const LF;

public:

    CFileNameW();

    ~CFileNameW();

    classCsaveFileNameW

    {

        friendclassCFileNameW;

#ifdef _WIN32

        // Added forversions earlier than VS2008

#ifdefined(_MSC_VER) && (_MSC_VER <= 1400)

        friendstructci_less_w;

#endif

#endif

    private:

        CsaveFileNameW( CFileNameW* pIniFile , const std::wstring& sFileName );

        CsaveFileNameW( constCsaveFileNameW& );// No Copy

        CsaveFileNameW&operator=(constCsaveFileNameW&);// No Copy

        ~CsaveFileNameW();

    private:

        CFileNameW* m_pIniFile;

        std::wstring m_sFileName;

        CIniFileW*  PIniFile;

    };

    structci_less_w

    {

        booloperator()(const CsaveFileNameW* s1,const CsaveFileNameW* s2)const

        {

#ifndef _WIN32

            returnwcscasecmp(s1->m_sFileName.c_str(), s2->m_sFileName.c_str()) < 0;

#else

            return_wcsicmp(s1->m_sFileName.c_str(), s2->m_sFileName.c_str()) < 0;

#endif

        }

    };

    typedefstd::set<CsaveFileNameW*,ci_less_w> FileIndexW;

#ifdef _WIN32

#ifdefined(_MSC_VER) && (_MSC_VER >= 1200)&& (_MSC_VER < 1300)

    friendclassCsaveFileNameW;

#endif

#endif

public:

    CsaveFileNameW* GetFileName( std::wstringsFileName );

    //CsaveFileNameW*GetFileName( std::wstring sFileName ) const;

    FileIndexW::const_iterator _find_file( const std::wstring& sFileName ) const;

    FileIndexW::iterator  _find_file( conststd::wstring& sFileName );

    voidRemoveAllFileNames( );

private:

    FileIndexW m_filenames;

};

classCIniFileW

{

public:

staticconstwchar_t* const LF;

public:

    CIniFileW();

    ~CIniFileW();

// Usedto save the data back to the file or your choice 

bool Save( conststd::wstring& fileName );

修改在前面加上 class CIniFileW

即為:

classCIniFileW;

classCFileNameW

{

public:

    staticconstwchar_t*const LF;

public:

    CFileNameW();

    ~CFileNameW();

    classCsaveFileNameW

    {

        friendclassCFileNameW;

#ifdef _WIN32

        // Added forversions earlier than VS2008

#ifdefined(_MSC_VER) && (_MSC_VER <= 1400)

        friendstructci_less_w;

#endif

#endif

    private:

        CsaveFileNameW( CFileNameW* pIniFile , const std::wstring& sFileName );

        CsaveFileNameW( constCsaveFileNameW& );// No Copy

        CsaveFileNameW&operator=(constCsaveFileNameW&);// No Copy

        ~CsaveFileNameW();

    private:

        CFileNameW* m_pIniFile;

        std::wstring m_sFileName;

    public:

        CIniFileW*  PIniFile;

    };

    structci_less_w

    {

        booloperator()(const CsaveFileNameW* s1,const CsaveFileNameW* s2)const

        {

#ifndef _WIN32

            returnwcscasecmp(s1->m_sFileName.c_str(), s2->m_sFileName.c_str()) < 0;

#else

            return_wcsicmp(s1->m_sFileName.c_str(), s2->m_sFileName.c_str()) < 0;

#endif

        }

    };

    typedefstd::set<CsaveFileNameW*,ci_less_w> FileIndexW;

#ifdef _WIN32

#ifdefined(_MSC_VER) && (_MSC_VER >= 1200)&& (_MSC_VER < 1300)

    friendclassCsaveFileNameW;

#endif

#endif

public:

    CsaveFileNameW* GetFileName( std::wstringsFileName );

    //CsaveFileNameW*GetFileName( std::wstring sFileName ) const;

    FileIndexW::const_iterator _find_file( const std::wstring& sFileName ) const;

    FileIndexW::iterator  _find_file( conststd::wstring& sFileName );

    voidRemoveAllFileNames( );

private:

    FileIndexW m_filenames;

};

classCIniFileW

{

public:

staticconstwchar_t* const LF;

public:

    CIniFileW();

    ~CIniFileW();

// Usedto save the data back to the file or your choice 

bool Save( conststd::wstring& fileName );

14

error C2248:'CFileNameW::CsaveFileNameW::PIniFile' : cannot access privatemember declared in class 'CFileNameW::CsaveFileNameW'

錯誤C2248:“CFileNameW::::PIniFileCsaveFileNameW”:不能訪問私有成員中宣告的類的CFileNameW::CsaveFileNameW”

改正:把PIniFile改成公有的;

public:

        CIniFileW*  PIniFile;

15 error C2440: 'initializing' : cannot convert from 'wchar_t *' to 'TCHAR'

修改前:

CString Description;
CString Ddvalue =_T("Command description");
SsnGetLocaleString(SSN_PLUGIN_ID_ANY,Ddvalue, SSN_AUTO_SELECT_LOCALE,NULL,Ddvalue,Description.GetBuffer(), MAX_PATH,Ddvalue);
CString Hotkeys;
CString Hdvalue =_T("Hotkeys");
SsnGetLocaleString(SSN_PLUGIN_ID_ANY,Hdvalue, SSN_AUTO_SELECT_LOCALE,NULL,Hdvalue,Hotkeys.GetBuffer(), MAX_PATH,Hdvalue);
TCHAR rgtsz[2][MAX_PATH]={Description.GetBuffer(),Hdvalue.GetBuffer()};

修改後:

     CString Description;
CString Ddvalue =_T("Command description");
SsnGetLocaleString(SSN_PLUGIN_ID_ANY,Ddvalue, SSN_AUTO_SELECT_LOCALE,NULL,Ddvalue,Description.GetBuffer(), MAX_PATH,Ddvalue);
CString Hotkeys;
CString Hdvalue =_T("Hotkeys");
SsnGetLocaleString(SSN_PLUGIN_ID_ANY,Hdvalue, SSN_AUTO_SELECT_LOCALE,NULL,Hdvalue,Hotkeys.GetBuffer(), MAX_PATH,Hdvalue);
TCHAR *rgtsz[2]={Description.GetBuffer(),Hdvalue.GetBuffer()};

給二維陣列賦值;

16  warning C4627: '#include <math.h>': skipped when looking for precompiled header use

 解決方法:加上標頭檔案#include "stdafx.h" 

17

CString與char的轉換問題,用強制轉換報瞭如下錯誤,應該如何進行轉換呢?

CString   strName;

TCItem.item.pszText= "ok ";//顯示正常
TCItem.item.pszText=(char)strName;//報如下錯誤

error   C2440:    'type   cast '   :   cannot   convert   from    'class   CString '   to    'char '
                         No   user-defined-conversion   operator   available   that   can   perform   this   conversion,   or   the   operator   cannot   be   called
Error   executing   cl.exe.

解決方法:

(char   *)&strName

18  關於VC 的 error C3872: '0x3000':

今天在網上看到了些技術程式碼(關於按鈕動態生成選單的程式碼.好象都是一個人寫的吧.幾乎都沒有什麼變化),於是邊拷貝程式碼邊測試執行程式的結果,想不到碰到了麻煩,簡單的兩行程式碼執行時居然出了十多行的error提示:

Error 1 error C3872: '0x3000': this character is not allowed in an identifier

  但是看上去程式碼明明是對的,沒錯啊!於是雙擊提示檢視是哪裡出的錯,結果游標停在了一行註釋上,那是一起拷貝進來的一些註釋文字。想想也沒用,刪除,再執行,結果程式順利執行完畢了。   後來發現是一些網頁上的非正常格式的空格在做怪,應該是字元碼的問題,它與VS中的字元不相容,所以VS編譯程式時無法識別此類字串,於是報錯。 註釋有的時候就出現莫名其妙的問題..............

 19  iostream 的用法,標頭檔案後面不能加.h

#include<iostream>
using namespace std;

 20 error LNK2005: "int __cdecl PiShowListDialog(struct _SSN_OBJECT_ID_,struct _SSN_OBJECT_ID_)" ([email protected]@[email protected]@[email protected]) already defined in DlgDefaultList.obj

錯誤代表同一個工程裡,有兩個PiShowListDialog函式!

21

致命錯誤C1010:在尋找預編譯指示標頭檔案時,檔案未預期結束。

 就是沒有找到預編譯指示資訊的標頭檔案。  問題一般發生在:通過新增檔案的方式,添加了一些cpp檔案到一個MFC的程式,但該cpp檔案並不是MFC,而是標準的C++。   解決方案1: 右鍵單擊專案工程中的cpp檔案,在選單Project->Settings->C/C++->Precompile Header,設定為第一項:Not using precompile headers。  解決方案2:在.cpp檔案開頭新增包含檔案stdafx.h。 #include"stdafx.h"

22 error C2664: “LoadLibraryW”: 不能將引數 1 從“const char *”轉換為“LPCWSTR”

1 靜態呼叫DLL
Project | setting
Link選項卡Library modules處
新增“XXX.lib”
然後#include “XXX.h”
把XXX.lib(引入庫檔案),XXX.DLL(動態庫檔案)
XXX.h(標頭檔案)
全部放到工程目錄下

2 動態呼叫DLL
通過
LoadLibrary
GetProcAddress
FreeLibrary實現。

原因 :工程只支援UNICODE字元

解決方法:

1、工程屬性->配置屬性–>常規—>字符集—->使用多位元組符字符集

2、也就是寬字元,所以下面這行程式碼,應該編譯有錯誤
hinst=LoadLibrary(“InTheHand.Net.Personal.dll”);
也就是:
cannot convert parameter 1 from ‘char [27]‘ to ‘const unsigned short *’
樓主將程式碼改為:
hinst=LoadLibrary(L”InTheHand.Net.Personal.dll”);
或者
hinst=LoadLibrary(_T(“InTheHand.Net.Personal.dll”));
試試

 22

 warning C6387: 'argument 1' might be '0': this does not adhere to the specification for the function 'GlobalLock': Lines: 328, 329, 330, 332, 333, 334, 335

就是未對輸入是否為空,進行判斷!

 23

AfxMessageBox(("click"));

錯誤 error C2665: 'AfxMessageBox' : none of the 2 overloads could convert all the argument types

解決方法:
AfxMessageBox(_T("click"));

解釋:如果程式中define   _UNICODE,則可用_T   or   _TEXT將後面的內容轉為UNICODE格式字串,否則和不用_T一樣

或者就修改專案屬性裡面的字元編碼

24 LNK2005: "class ATL::CStringT<wchar_t,class StrTraitMFC_DLL<wchar_t,class ATL::ChTraitsCRT<wchar_t> > > NextSpeakString" ([email protected]@[email protected][email protected][email protected][email protected]@@@@@[email protected]@A) already defined in Speech.obj

解決方案:變數或者函式的定義放到cpp檔案中,不要放到.h中~

25 :\ceshi\fuzzysearch\fuzzysearch\fuzzysearch\fuzzysearch.cpp(46): error C2678: binary '>>' : no operator found which takes a left-hand operand of type 'std::istream' (or there is no acceptable conversion)

總是提示這樣的錯誤,修改方法:

(1)加上標頭檔案#include <string>

(2)檢查型別:

TCHAR* argv[100];
std::cout<<"輸入陣列大小"<<endl;
std::cin>> argc;
std::cout<<"輸入陣列內資料"<<endl;
for(int j=0;j<argc;j++)
{  
std::cin>>argv[j];
}

則提示錯誤,應該改成:  char* argv[100]; 則不再提示此錯誤;

1. 解決error LNK2005: ___crtExitProcess 已經在 LIBCMTD.lib(crt0dat.obj) 中定義

有的時候, 在 Debug 模式下編譯沒問題, 換到 Release 模式就發生一堆問題.

典型的例子, 就是因為 c++ runtime library 設定不同, 所造成的重複定義連結錯誤.
而另一個常見的例子是 專案與 library 使用不同的字元集合設定
(如: 一個用 Unicode Character Set, 另一個用 Multi-Byte Character Set)

這個錯誤
發生原因, 有可能是
1. 你 link 的 lib 使用 C++ Multi-threaded DLL (/MD)
2. 而你的 source 使用的 C++ runtime library 是 Multi-threaded (/MT)
導致重複定義

解決方法:
兩個使用相同的 C++ runtime library.
例如都使用 static 的 Multi-threaded (/MT).


2. 錯誤 1 error LNK2005: "private: __thiscall type_info::type_info(class type_info const &)" ([email protected]@[email protected]@@Z) 已經在 LIBCMT.lib(typinfo.obj) 中定義 MSVCRTD.lib

專案 -> 屬性 -> c/C++  -> 程式碼生成  -> 執行時庫  設定為: 多執行緒除錯 DLL (/MDd) 
被引用的庫和呼叫的程式編譯選項不同,需要改成一致後編譯


3. #pragma once與 #ifndef的區別
為了避免同一個檔案被include多次
1   #ifndef方式
2   #pragma once方式
在能夠支援這兩種方式的編譯器上,二者並沒有太大的區別,但是兩者仍然還是有一些細微的區別。
    方式一: 
    #ifndef __SOMEFILE_H__
    #define __SOMEFILE_H__
    ... ... // 一些宣告語句
    #endif

    方式二:
    #pragma once
    ... ... // 一些宣告語句
    #ifndef的方式依賴於巨集名字不能衝突,這不光可以保證同一個檔案不會被包含多次,也能保證內容完全相同的兩個檔案不會被不小心同時包含。當然,缺點就是如果不同標頭檔案的巨集名不小心“撞車”,可能就會導致標頭檔案明明存在,編譯器卻硬說找不到宣告的狀況
    #pragma once則由編譯器提供保證:同一個檔案不會被包含多次。注意這裡所說的“同一個檔案”是指物理上的一個檔案,而不是指內容相同的兩個檔案。帶來的好處是,你不必再費勁想個巨集名了,當然也就不會出現巨集名碰撞引發的奇怪問題。對應的缺點就是如果某個標頭檔案有多份拷貝,本方法不能保證他們不被重複包含。當然,相比巨集名碰撞引發的“找不到宣告”的問題,重複包含更容易被發現並修正。
   方式一由語言支援所以移植性好,方式二 可以避免名字衝突

4. error LNK2019: 無法解析的外部符號 __imp__PathCombineW
PathCombine是Shell api需要引入庫
#pragma comment( lib, "shlwapi.lib")

5.  error C2662: "MyClass::GetName()”: 不能將“this”指標從“const MyClass”轉換為“MyClass &” 
bool MyClass::operator==(const MyClass* n1) const
{
 return GetName() == n1->GetName();
}
原因是不能在const函式中呼叫物件的非const方法,MyClass中的GetName()必須是const的。


6. template 模板
搞死了

模板宣告和定義必須在同一個檔案中,而且只有例項話模板型別時才編譯模板例項

7. error C2275: “MyClass”: 將此型別用作表示式非法 MyClass.Instance();
 原因:Instance是靜態方法,用.引用會出錯。應該是MyClass::Instance()

8. error LNK2019: 無法解析的外部符號 "public: __thiscall MyClass(void)
原因:只聲明瞭建構函式,MyClass(); ,但未定義。 可以定義空函式,或者直接註釋掉,使用預設建構函式。

9.  error C2504: “testing”: 未定義基類 
class PackToolTest : testing.Test {}
原因:Test是testing名稱空間下的一個類,需要用域操作符,testing::Test
還有一個問題,缺少基類繼承許可權(public、protected、private)

10. error C2864: “MyClass::_nullpack”: 只有靜態常量整型資料成員才可以在類中初始化  
class MyClass {

      string _nullpack = "test";

}

原因:c++ 中,成員變數不能在宣告時初始化,而是在建構函式初始化列表中先初始化

11. error LNK2019: 無法解析的外部符號 [email protected] int main()
原因:由於建立的是Win32 Project,和Win32 console Project的連結庫不同
方法1:在程式最開始的地方加上以下語句 
#pragma   comment(linker,   "/subsystem:console ") 
方法2:project   > >   setting   > >   在link   的project   options   中將/subsystem:windows(console)刪了 

12.類似“已經在 msvcprtd.lib(MSVCP80D.dll) 中定義”問題
vs2005 Debug /Release需要分別配製

分析一下錯誤來源,會發現:
1.     錯誤來源主要是重複定義的問題,而且重複定義的基本上都是VC Runtime和Standard C++ Library中的函式
2.     LIBCMT和LIBCPMT為Release下的Lib,本來不應該出現在Debug版本的連結的Lib中
3.     重複定義的問題主要出現在:LIBCMT, LIBCPMT, MSVCPRTD, MSVCRTD
來看看出問題的LIB是那些:
1.     LIBCMT:C Runtime庫的多執行緒靜態連結的Release版本
2.     LIBCPMT:C++ Standard Library的多執行緒靜態連結的Release版本
3.     MSVCPRTD:C++ Standard Library的多執行緒DLL的Debug版本
4.     MSVCRTD:C Runtime Library的多執行緒DLL的Debug版本
當前我們的配置是多執行緒DLL的Debug版,因此3和4是應該出現在link的列表中的,不屬於多餘。而後兩者則是隻是當多執行緒靜態連結Release版中才會出現。這提示我在專案中加入的ANTLR.LIB可能是造成這個問題的根源,因為靜態庫的編譯選項很容易和主程式發生衝突,並且根據實際資訊我們可以看出ANTLR.LIB應該是用多執行緒靜態連結的Release版本來編譯的。
解決方法:
   1、首先檢視編譯專案依賴的其他專案的執行時庫是否一致
   2、如果不一致,改為同樣的執行時庫,如在下編譯的是:“多執行緒除錯 DLL (/MDd)”,現在需要把所有的依賴專案的執行時庫都改為一致的庫,就OK了。

13.  error C2143: 語法錯誤 : 缺少“;”(在“*”的前面)
原因:產生錯誤處,某型別未include,可能標頭檔案名拼寫錯誤、標頭檔案名已更改

14. error C2572: “MyClass::Invoke”: 重定義預設引數 : 引數 2 
string MyClass::Invoke(const CParam& paraObj, INVOKETYPE type = ASYN)

原因:預設引數,只需在宣告時指定。方法定義的時候無需指定預設引數。
string MyClass::Invoke(const CParam& paraObj, INVOKETYPE type /*= ASYN*/)

{ ... }

15. 錯誤 C2558 沒有可用的複製建構函式或複製建構函式宣告為“explicit”
試圖複製其複製建構函式為 private 的類。在大多數情況下,不應複製具有 private 複製建構函式的類。通用程式設計技術宣告 private 複製建構函式以防止直接使用類。該類本身可能無用,或需要另一個類才能正常工作。

嘗試複製其複製建構函式為 explicit 的類。用 explicit 聲明覆制建構函式會阻止將類的物件傳遞到函式或從函式返回類的物件。

原因: 拷貝建構函式、賦值函式引數必須用const修飾

16. 不能建立抽象類物件
原因: 1. 存在虛擬函式未實現; 2. 由於疏忽過載虛擬函式格式錯誤(此問題需要仔細檢查才能發現); 3. 虛擬函式名稱與系統中已有的虛擬函式重名,導致過載失敗(這點很納悶)。

17. 沒有找到MSCRV80D.dll

工程屬性: 配置型別 由 exe 改成 lib 後生成, 然後再改回來
執行時會出現 “沒有找到MSCRV80D.dll” 的異常

解決方法: 
工程屬性:MFC的使用 由 “使用標準Windows庫” 改成 “在靜態庫中使用MFC“ 生成 ,然後再改回來
生成、執行 OK

18. CVTRES : fatal error CVT1100: 重複的資源。type:MANIFEST, name:1, language:0x0409
另一個則提示為:
LINK : fatal error LNK1123: 轉換到 COFF 期間失敗: 檔案無效或損壞

已經到了連結期,應該說,問題就不像編譯通不過那麼彆扭了,而查閱MSDN關於這兩個問題的說明,終於找到了解決的方法,現簡單的陳述如下:
首先,出現這兩個問題的原因都是一個,即檔案中的現有資原始檔和新資源字串表 ID 衝突。微軟也給出瞭解決這個問題的方法,但是,在現有的情況下,這個方法是靠不住的,因為,不可能不使用wx.rc資源。所以,一個變通的解決方法就是:
工程屬性->配置屬性-> 清單工具->輸入和輸出->嵌入清單,選擇[否],即可。

19 

1>c:\program files\microsoft visual studio 10.0\vc\include\xfunctional(125): error C2784: 'bool std::operator <(const std::_Tree<_Traits> &,const std::_Tree<_Traits> &)' : could not deduce template argument for 'const std::_Tree<_Traits> &' from 'const std::wstring' 

提示以上錯誤,則應該加上#include <string>標頭檔案

相關推薦

VS2010 c++ 錯誤處理方法 不斷更新....

1錯誤: fatal error C1010: unexpected endof file while looking for precompiled header. Did you forget toadd '#include"StdAfx.h"' to your sou

C++編程規範不斷更新

系統 must 那是 一點 class xxx 編程規範 自己 ++ 本文總結一些經驗教訓,以使編出來的代碼更為健壯。 1、定義類/結構體的時候不要和系統函數沖突(尤其是不同系統/平臺之間移植的時候)   有時候在windows系統下編譯沒問題,但是在linux系統下就

生產環境使用elasticsearch遇到的一些問題以及解決方法不斷更新

1.由gc引起節點脫離叢集      因為gc時會使jvm停止工作,如果某個節點gc時間過長,master ping3次(zen discovery預設ping失敗重試3次)不通後就會把該節點剔除出叢集,從而導致索引進行重新分配。 解決方法: (1)優化gc,減少gc時間。(2)調大zen discovery

24.C語言最全排序方法小結不斷更新

http 希爾 找到 sin -s arr span 計算機 gpo 希爾排序: 該方法的基本思想是:先將整個待排元素序列切割成若幹個子序列(由相隔某個“增量”的元素組成的)分別進行直接插入排序,然後依次縮減增量再進行排序,待整個序列中的元素基本有序(增量足夠小)時,再對全

c++ 知識點不斷更新

1 .指標賦值 typedef tree_node<T> node_type; node_type* root; node_type **n =&root; //這裡root雖然是個指標但是可能是空值,為了給指標賦值,所以取地址 *n =new node_typ

執行Spark常見問題處理方法持續更新中......

1.MaxResultSize問題 首先,出現這個錯誤的時候Spark會產生如下錯誤資訊: org.apache.spark.SparkException: Job aborted due to stage failure: Total size of serialize

Android之平時遇見的異常和錯誤總結不斷更新

安卓錯誤經驗累積  1、當出現下面錯誤時候     08-21 03:43:16.679: E/AndroidRuntime(1087): java.lang.RuntimeException: Unable to start activity ComponentInfo{

Nobleman__ ACM 比賽模板 C++ && Java個人總結 不斷更新 自用

宣告 : 本人剛學演算法一年,都是自己做題常用的模板,不時總結下。 大致分為:亂七八糟, 數論,圖論,動態規劃,幾何,Java 還有一些奇葩定理, 奇葩定理: 【1】高效求出n的約數的個

JPA系列--JPA部署階段常見錯誤及解決方法持續更新

錯誤一:javax.persistence.PersistenceException: Unable to locate persistence units問題 1.問題詳述 1.1 persistence.xml配置檔案 <?xml versi

C++程式設計中提高程式執行效率的方式不斷更新

在實際的工作中,利用程式實現同樣的功能會有很多種方式,但是考慮到程式的執行時間時,很多方式並不可取。不斷提高程式的執行效率,而又不影響程式功能是程式設計師的不竭追求! 以下是我在工作中總結的提高程式程式碼效率的方式: 1.整型執行速度快於浮點型,所以能用整型的地方儘量不要

C#當釋出軟體時提示系統必備FrameWork處理方法FrameWork4.0

C#當釋出軟體時提示系統必備FrameWork,報錯如下: 處理方法: 1、將“dotNetFx40_Full_x86_x64.exe”檔案拷貝到:C:\Program Files (x86)\Microsoft Visual Studio 14.0\SDK\Bo

Unity3d修煉之路:遊戲開發中,3d數學知識的練習【1】不斷更新.......

turn tor rdo pre 長度 scrip 縮放 unity3d float #pragma strict public var m_pA : Vector3 = new Vector3(2.0f, 4.0f, 0.0f); public var m_pB :

資源列表下載不斷更新

5% images splay rar http bsp jpg get 資源 [中譯本][算法精解:C語言描述]源代碼 http://files.cnblogs.com/files/hdu-2010/[中譯本][算法精解:C語言描述]源代碼.rar 資源列表下載

MySQL數據庫root賬戶密碼忘記兩種處理方法保有效

mysql mysq 密碼忘記 方法1:1.停止MySQL服務# kill `cat /var/run/mysqld/mysqld.pid`或者# pkill mysqld2.創建一個密碼賦值語句的文本文件# vi mysql-init ALTER USER ‘root‘@‘localhost‘

《算法 4th》程序運行相關問題不斷更新

blank .html 4th binarys 程序包 blog lan log div 2018.3.9 1. 示例代碼都未導入作者自己開發的庫,需要添加相關導入:   import edu.princeton.cs.algs4.*;   如:import edu.pri

IDEA學習系列之剖析IDEA裏的Code Style適合各種語言不斷更新圖文詳解

ESS javascrip 挖掘 python pre scrip 學習 裏的 yaml   不多說,直接上幹貨!   File -> Settings -> Editor -> Code Style

vscode常見錯誤匯總長期更新

python git vscode debug 1.錯誤提示 Q:不是每一個紅波浪線都是錯誤,都需要修改 A: 看下面這個地方: 這裏的from確實標記了紅色波浪線,鼠標放上去還有提示: 但是,這裏並不需要修改,因為pep8檢查很嚴格,我們這裏前面是針對整個工程,把工程目錄添加到了環境變量

臨時記錄不斷更新

mage extension min home mis \n war tel -s 1、查看windows的激活狀態(CMD下) slmgr.vbs -dlv slmgr.vbs -dli 2、virtual box安裝報錯 安裝擴展包 C:/vbox/Orac

DbHelperSQL 增加事務處理方法2種

result nal clas nsa string null per lec login 方法一: 1 public static bool ExecuteSqlByTrans(List<SqlAndPrams> list) 2 { 3

linux常用命令不斷更新

1、下載對應資料夾下的所有檔案 scp -r [email protected]:/data/notebooks/test/file/s ./file/s 2、代理 vim ~/.zshrc alias proxy='export all_proxy=so