問題描述:
關於VC++導入pugixml庫時
error C2010: ‘ ’:unexpected in macro formal parameter list
與error C1010 unexpected end of file while looking for pre compiled header directive
問題原因:
對於第一個error,首先pugixml源碼是不可能出現問題的,所以並不是pugixml文件參數宏有問題,一般是編譯器版本底造成的,例如VC++6.0是不支持可變參數宏定義的。
對於第二個error:查找預編譯頭指令時出現意外的文件結尾,只是因爲你導入時沒有添加對應MFC程序的頭文件
解決辦法:
error1:將可變參數宏定義刪掉,例如:
# define PUGI_SNPRINIF(buf,...) snprintf(buf,sizeof(buf),__VA_ARGS__)
z這句代碼中引發error的原因就是PUGI_SNPRINIF括號中的 點 ,將其刪除即可,刪除後:
# define PUGI_SNPRINIF(buf) snprintf(buf,sizeof(buf),__VA_ARGS__)
error2:在pugixml.cpp文件的最上方(記得一定要在所有除註釋外的其他代碼上方)添加stdafx.h頭文件,即:
#include "StdAfx.h"
#ifndef SOURCE_PUGIXML_CPP
#define SOURCE_PUGIXML_CPP