gpt4 book ai didi

c++ - 用 C++ 编译 SQlite3

转载 作者:IT老高 更新时间:2023-10-28 22:20:45 28 4
gpt4 key购买 nike

我是这样编译代码的:

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

但我想解决这个问题,因为我不想在另一台计算机上安装一些库,我无权访问!

最佳答案

  • Step1:通过gcc将sqlite3.c编译成sqlite3.o
  • 第二步:用g++编译你的c++代码和sqlite3.o

我的用于 sqlite shell 和 c++ api 测试的 makefile:

  1 CXX = g++
2 cc = gcc
3
4 LIB = -lpthread -ldl
5 BIN = sqlite apiTest
6
7 all : $(BIN)
8 sqlite : sqlite3.c shell.c
9 $(cc) -o $@ $^ $(LIB)
10 apiTest : apiTest.cpp sqlite3.o
11 $(CXX) -o $@ $^ $(LIB)
12 sqlite3.o : sqlite3.c
13 $(cc) -o $@ -c $^
14
15 clean :
16 rm -f $(BIN)
17
18 .PHONY: all, clean

关于c++ - 用 C++ 编译 SQlite3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10574933/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com