【发布时间】:2012-05-21 10:36:06
【问题描述】:
我是这样编译代码的:
g++ main.cpp -I sqlite3
其中 sqlite3 是一个文件夹,其中包含我从 sqlite-amalgamation-3071100.zip 收到的源文件,-I 是包含源的标志。
此存档包含:shell.c、sqlite3.c、sqlite3.h、sqlite3ext.h。
这是我收到的:
undefined reference to `sqlite3_open'
程序只包含#include和函数sqlite3_open(...)的调用;
如果我制作“sudo apt-get install libsqlite3-dev”并使用命令编译程序,我可以编译一切正常
g++ main.cpp -lsqlite3
但我想解决这个问题,因为我不想在另一台计算机上安装一些库,我无权访问!
【问题讨论】:
-
您需要构建库,然后链接到它。
-
为什么您认为在未安装 libsqlite3 库时可以链接它?
-
Kerrek SB,您会看到该库仅包含 4 个文件。当我有 sqlite3.c 和 sqlite3.h 文件时,如何构建它以及我需要什么。我需要制作“g++ -o sqlite3 sqlite3.h sqlite3.c”吗?我只是尝试用“g++ -o myprog myprog.cpp sqlite3.c sqlite3.h”编译它但是我收到很多错误。
-
你要构建什么 - sqlite3 命令行客户端或 sqlite3 库?
标签: c++ sqlite compilation g++