当我尝试在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 *.~
答案 0 :(得分:0)
我自己得到了答案:
每当我尝试将包含mysql库的.c文件编译到目标文件中时,我必须像这样编译它:
gcc -c DVDDAO.c `mysql_config --cflags`
然后一切正常
答案 1 :(得分:0)
尝试使用选项-I
添加包含目录,使用-L
添加libary目录。