KDevelop中添加SQLite库

时间:2022-02-17 08:45:38
在Kdevelop中添加SQLite的静态链接库,具体方法:
kdevlop的project options->配置选项->C程序->编译器标志中写入如下参数:
-L/usr/local/lib  -lsqlite3   就KO!了   

参考:
编译c++程序:

a.h a.cpp , b.h b.cpp (一个cpp文件只能包含一个相同名称的函数,或相同名称的class,这个类中可以包含多个函数)

1。g++ -c a.cpp -o a.o 
   g++ -c b.cpp -o b.o 

2. g++ a.o b.o -o test (test即是可执行的文件)

3。.so是Linux(Unix)下的动态链接库.   和.dll类似.  
生成动态链接库:
g++ -fPIC -shared -o libMyApp.so *.o 这样就生成了libMyApp.so文件 (在当前目录里生成libMyApp.so)
或者
$ gcc test_a.c test_b.c test_c.c -fPIC -shared -o libtest.so  (c语言)

最后更改lib.so路径  sudo cp lib.so /usr/lib ,以便调用

使用so文件:必须包括.h文件
 gcc test.c -L. -ltest -o test

 g++ test.cpp -L$/usr/lib -lmymath -o test

 g++ test.o -L$/usr/lib -lmymath -o test

 g++ test.o libmymath.so -o test (直接使用也可以的 )

 g++ test.o -L/usr/lib -lmymath -o test(推荐用这种)

kdevelop下使用
1. 在src右击options的conplier下的conplier for c++中写上so文件的路径和名称( -L/usr/lib -lmymath)

2.修改makefile.am
# the library search path.
view1_LDFLAGS = $(all_libraries) 
AM_CXXFLAGS = -L/usr/lib -lmymath  // 添加路径和名称



4.一些参数

     -shared 该选项指定生成动态连接库(让连接器生成T类型的导出符号表,有时候也生成弱连接W类型的导出符号),不用该标志外部程序无法连接。相当于一个可执行文件

     -fPIC:表示编译为位置独立的代码,不用此选项的话编译后的代码是位置相关的所以动态载入时是通过代码拷贝的方式来满足不同进程的需要,而不能达到真正代码段共享的目的。

     -L.:表示要连接的库在当前目录中

     -ltest:编译器查找动态连接库时有隐含的命名规则,即在给出的名字前面加上lib,后面加上.so来确定库的名称

// 以下还没有使用过

     LD_LIBRARY_PATH:这个环境变量指示动态连接器可以装载动态库的路径。

           当然如果有root权限的话,可以修改/etc/ld.so.conf文件,然后调用 /sbin/ldconfig来达到同样的目的,不过如果没有root权限,那么只能采用输出LD_LIBRARY_PATH的方法了。