用秋葵查询VC ++的问题(连接错误)(VC++ Problems using gumbo-quer

2019-10-22 19:05发布

我有一个VC ++项目,我试图用秋葵查询图书馆的延伸,发现了这里 。 这个库包装/扩展谷歌的发现秋葵解析器这里 。 下面是我所采取的具体步骤 - 我不是很熟悉的导入库,所以我做了我做什么用的Boost库:

在Visual Studio(VS社区2013年),根据项目设置 - >配置属性 - > C / C ++ - >常规我已经把路径包含所有来自上面链接项目的源文件的文件夹。 具体来说,我把.C,的.cpp和.h文件从两个项目的src文件夹,并在我的项目设置引用这些作为include目录。

以下为谷歌扩展的秋葵解析器(项目示例文件发现这里 ),我将这两行导入库:

#include "Document.h"
#include "Node.h"

在这一点上,我的解决方案编译罚款。 然而,继续效仿文件,添加的第一个变量的声明:

CDocument d;

导致链接错误,如下所示:

1>Main.obj : error LNK2028: unresolved token (0A0003B7) "public: __thiscall CDocument::CDocument(void)" (??0CDocument@@$$FQAE@XZ) referenced in function "private: void __clrcall MyApplication::Main::worker_DoWork(class System::Object ^,class System::ComponentModel::DoWorkEventArgs ^)" (?worker_DoWork@Main@MyApplication@@$$FA$AAMXP$AAVObject@System@@P$AAVDoWorkEventArgs@ComponentModel@4@@Z)
1>Main.obj : error LNK2028: unresolved token (0A0003B8) "public: virtual __thiscall CDocument::~CDocument(void)" (??1CDocument@@$$FUAE@XZ) referenced in function "private: void __clrcall MyApplication::Main::worker_DoWork(class System::Object ^,class System::ComponentModel::DoWorkEventArgs ^)" (?worker_DoWork@Main@MyApplication@@$$FA$AAMXP$AAVObject@System@@P$AAVDoWorkEventArgs@ComponentModel@4@@Z)
1>Main.obj : error LNK2019: unresolved external symbol "public: __thiscall CDocument::CDocument(void)" (??0CDocument@@$$FQAE@XZ) referenced in function "private: void __clrcall MyApplication::Main::worker_DoWork(class System::Object ^,class System::ComponentModel::DoWorkEventArgs ^)" (?worker_DoWork@Main@MyApplication@@$$FA$AAMXP$AAVObject@System@@P$AAVDoWorkEventArgs@ComponentModel@4@@Z)
1>Main.obj : error LNK2019: unresolved external symbol "public: virtual __thiscall CDocument::~CDocument(void)" (??1CDocument@@$$FUAE@XZ) referenced in function "private: void __clrcall MyApplication::Main::worker_DoWork(class System::Object ^,class System::ComponentModel::DoWorkEventArgs ^)" (?worker_DoWork@Main@MyApplication@@$$FA$AAMXP$AAVObject@System@@P$AAVDoWorkEventArgs@ComponentModel@4@@Z)
1>..{omitted}..\MyApplication.exe : fatal error LNK1120: 4 unresolved externals

出现此错误发生无论身在何处,我把一个CDocument的实例。

我能做些什么来纠正呢? VS似乎认为包括有罚款,moreso当我把在CDocument的d; 它点亮,以显示它承认CDocument的类型。

Answer 1:

与往常一样,很明显我是一个JS开发时间过长。 我真的需要编译的.lib文件。 谢谢基督教提醒我这一点。

由谷歌原秋葵解析器项目包括VS项目。 我开了这一点,并编译它,固定所有的项目设置问题,这样我可以将其导入到我的项目,我通过配置属性没有 - >链接器 - >输入 - >附加依赖设置为我的VS项目。

接下来,我从包装库秋葵查询,在这里我不得不修复parser.h / parser.cpp之间从原来的秋葵解析器项目,并在Parser.h / Parser.cpp文件命名冲突添加额外的源文件包装库。 我也改变了所有引用#include <gumbo.h>#include "gumbo.h"

最终,我得到了包含原始和包装一个库文件gumbo.lib,这导入到我的项目,我现在似乎能够成功使用的功能。



文章来源: VC++ Problems using gumbo-query (linking error)