我正在尝试使用 pugiXML 库来读取一些 XML,但我无法正确编译它。在将源文件 (3) 移动到工作目录中,将它们带入项目,并禁用预编译头文件的使用后,我一直很难让它链接和构建。
这些是给我带来问题的片段:
// XMLAdapter.h
#pragma once
#include "pugixml.hpp"
using namespace pugi;
class XMLAdapter
{
private:
static xml_document doc;
static bool isReady;
static xml_parse_result result;
public:
static void setResource(char* resource);
template <typename T> static T getItems(char* xpath, T (*getThings)(xpath_node_set*));
};
.
// XMLAdapter.cpp
#include "stdafx.h"
#include "XMLAdapter.h"
bool XMLAdapter::isReady = false;
void XMLAdapter::setResource(char* resource){
XMLAdapter::result = XMLAdapter::doc.load_file(resource);
XMLAdapter::isReady = true;
}
和错误:
- 错误 1 错误 LNK2001:无法解析的外部符号“私有:静态类 pugi::xml_document XMLAdapter::doc”(?doc@XMLAdapter@@0Vxml_document@pugi@@A) C:\Users\Adam\SkyDrive\Documents\proj\ray \ray\XMLAdapter.obj 射线
- 错误 2 错误 LNK2001:无法解析的外部符号“私有:静态结构 pugi::xml_parse_result XMLAdapter::result”(?result@XMLAdapter@@0Uxml_parse_result@pugi@@A) C:\Users\Adam\SkyDrive\Documents\proj\ray \ray\XMLAdapter.obj 射线
- 错误 3 error LNK1120: 2 unresolved externals C:\Users\Adam\SkyDrive\Documents\proj\ray\Debug\ray.exe 1 1 ray
我对 C++ 还很陌生,所以欢迎任何建议;