VC++使用gumbo查询时出现问题(链接错误)
VC++ Problems using gumbo-query (linking error)
我有一个VC++项目,我正在尝试使用gumbo查询库的扩展,可以在这里找到。这个库包装/扩展了谷歌的gumbo解析器。以下是我所采取的确切步骤-我不太熟悉导入库,所以我已经做了使用Boost库的操作:
在Visual Studio(VS Community 2013)中,在"项目设置"->"配置属性"->"C/C++"->"常规"下,我放置了一个文件夹的路径,该文件夹包含上面链接的两个项目的所有源文件。具体来说,我放置了这两个项目的src文件夹中的.c、.cpp和.h文件,并将它们作为包含目录在我的项目设置中引用。
根据扩展Google的gumbo解析器的项目的示例文件(在这里找到),我添加了以下两行来导入库:
#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似乎认为includes很好,当我放入CDocument d时,它会更好些;它亮起表示它识别CDocument类型。
和往常一样,很明显我做JS开发人员的时间太长了。我确实需要编译一个.lib文件。感谢克里斯蒂安提醒我这一点。
谷歌最初的口香糖解析器项目包括一个VS项目。我打开并编译了它,修复了所有项目设置问题,这样我就可以将它导入到我的项目中,这是我通过VS项目的配置属性->链接器->输入->附加依赖项设置完成的。
接下来,我从包装库gumbo查询中添加了额外的源文件,在那里我必须修复原始gumbo解析器项目中的parser.h/parse.cpp和包装库中的parser.h/parser.cpp文件之间的命名冲突。我还将所有对#include <gumbo.h>
的引用更改为#include "gumbo.h"
最终,我得到了一个包含原始库和包装库的gumbo.lib文件,并将其导入到我的项目中,我现在似乎能够成功地使用这些函数。
- 静态数据成员的问题-修复链接错误会导致编译器错误
- 基于boost的程序的静态链接——zlib问题
- 使用jsoncpp库时出现链接问题
- Cmake 链接问题:未定义对 Button::mousePressEvent(QGraphicsSceneMouseE
- sqlite3 和生成文件中的链接出现问题
- 如何将GTest与CMake一起使用?遵循谷歌指南时的链接问题
- 未解决的外部链接问题
- 使用转换器提升 Python 问题 - 静态链接
- 'make check' GLIBC 运行时的链接问题
- 在树莓派上用libtorch构建程序时的链接问题
- QtCreator with C 库中的链接器问题
- 野牛弹性链接问题
- 与 AWS 开发工具包的链接问题
- 使用 NVIDIA GPU 在 Cygwin 中链接 OpenCL 库时遇到问题
- 为什么当我从语句检查中删除"+ mod"时,以下程序给出错误的答案。问题链接:https://www.codechef.com/problems/FFC219B
- PCL 和 CMake 的问题:链接时未定义统计异常值删除
- VC++使用gumbo查询时出现问题(链接错误)
- 使用CMake问题链接Boost(Ubuntu 14.04)
- MySQL连接器问题-链接等等
- MinGW 与 MSVC 的 dll 库问题链接(未定义的引用)