GCC用mysql库编译

时间:2013-04-27 20:15:13

标签: c gcc makefile shared-libraries

当我尝试在C中编译一个包含mysql库的自编写项目时,我得到了这个错误:

gcc -c src/oDAO.c
src/oDAO.c:4:23: fatal error: my_global.h: No such file or directory

我将my_global.h包括在内:

#include <my_global.h>

出现错误,因为我的系统将头文件复制到/ usr / include / mysql /,而gcc只在/ usr / include(没有子目录)中搜索系统头文件。如何通过添加/ usr / include / mysql作为附加共享库root来调用gcc?

这是我的实际Makefile:

all: main.o oDAO.o FileUtils.o DVDDAO.o
    gcc -Llib -o oDAO main.o oDAO.o FileUtils.o DVDDAO.o -llinkedlist -lncurses `mysql_config --cflags --libs` 

main.o:
    gcc -c src/main.c

oDAO.o:
    gcc -c src/oDAO.c

FileUtils.o:
    gcc -c src/FileUtils.c

DVDDAO.o:
    gcc -c src/DVDDAO.c

clean:
    rm -f *.o
    rm -f oDAO
    rm -f *.bak
    rm -f *.~

2 个答案:

答案 0 :(得分:0)

我自己得到了答案:

每当我尝试将包含mysql库的.c文件编译到目标文件中时,我必须像这样编译它:

gcc -c DVDDAO.c `mysql_config --cflags`

然后一切正常

答案 1 :(得分:0)

尝试使用选项-I添加包含目录,使用-L添加libary目录。