在 Visual Studio 2013 中尝试使用 sqlite3_open 进行编译时出错
Error when trying to compile using sqlite3_open in Visual Studio 2013
我正在 Cocos2dx (c++) win 32 项目中工作,并尝试使用 sqlite 保存游戏数据。我现在对 C++ / Visual Studio 的了解非常有限。
这是我要编译的代码的一部分。
#include <sqlite3\include\sqlite3.h>
...
void HelloWorld::SaveAndLoadTest()
{
sqlite3 *pdb = NULL;
sqlite3_open("writablePath", &pdb);
...
}
但是当我尝试使用 sqlite3_open 命令编译该行时,出现以下错误:
Error 7 error LNK2019: 函数中引用了未解析的外部符号_sqlite3_open...
这么多小时以来,我一直在努力寻找答案。我发现的最相似的问题是这个,但我不明白答案。
Error: undefined reference to `sqlite3_open'
You need to link the sqlite3 library along with your program:
g++ main.cpp -lsqlite3
我是 Visual Studio 的新手,我不知道如何解决这个问题,有人吗?
解决方案非常简单,就是 link sqlite3
到您的项目。库需要 linked(通过 linker)才能使用。前往 here 并为您选择的平台(在本例中为 Win32)下载预编译的二进制文件。您也可以选择从源代码编译 sqlite3
。您最终应该得到一个 .lib
文件。转到 Project -> Configuration Properties -> Linker -> General -> Additional Include Directories
并将库文件的路径添加到其中。然后转到Linker -> Input -> Additional Dependencies
并输入sqlite3.lib
。
错误 LNK2019 意味着引用丢失可能是因为库丢失。
要将 sqlite 添加到 MSVC 项目,您必须确保:
- header 包含在您的源文件中
sqlite3.dll
在可执行文件的路径或目录中
- 并且
sqlite3.lib
添加到 VS 项目中的附加依赖项(项目的选项 > 链接器 > 输入 > 附加依赖项)
最后一点是强制性的,因为库告诉链接器哪些函数存储在 dll 中。
我正在 Cocos2dx (c++) win 32 项目中工作,并尝试使用 sqlite 保存游戏数据。我现在对 C++ / Visual Studio 的了解非常有限。
这是我要编译的代码的一部分。
#include <sqlite3\include\sqlite3.h>
...
void HelloWorld::SaveAndLoadTest()
{
sqlite3 *pdb = NULL;
sqlite3_open("writablePath", &pdb);
...
}
但是当我尝试使用 sqlite3_open 命令编译该行时,出现以下错误:
Error 7 error LNK2019: 函数中引用了未解析的外部符号_sqlite3_open...
这么多小时以来,我一直在努力寻找答案。我发现的最相似的问题是这个,但我不明白答案。 Error: undefined reference to `sqlite3_open'
You need to link the sqlite3 library along with your program:
g++ main.cpp -lsqlite3
我是 Visual Studio 的新手,我不知道如何解决这个问题,有人吗?
解决方案非常简单,就是 link sqlite3
到您的项目。库需要 linked(通过 linker)才能使用。前往 here 并为您选择的平台(在本例中为 Win32)下载预编译的二进制文件。您也可以选择从源代码编译 sqlite3
。您最终应该得到一个 .lib
文件。转到 Project -> Configuration Properties -> Linker -> General -> Additional Include Directories
并将库文件的路径添加到其中。然后转到Linker -> Input -> Additional Dependencies
并输入sqlite3.lib
。
错误 LNK2019 意味着引用丢失可能是因为库丢失。
要将 sqlite 添加到 MSVC 项目,您必须确保:
- header 包含在您的源文件中
sqlite3.dll
在可执行文件的路径或目录中- 并且
sqlite3.lib
添加到 VS 项目中的附加依赖项(项目的选项 > 链接器 > 输入 > 附加依赖项)
最后一点是强制性的,因为库告诉链接器哪些函数存储在 dll 中。