0

我正在尝试使用 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++ 还很陌生,所以欢迎任何建议;

4

0 回答 0