0

当我尝试用 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 作为附加共享库根来调用 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 *.~
4

2 回答 2

0

尝试-I添加包含目录和-L添加库目录的选项。

于 2013-04-28T09:50:14.590 回答
0

我自己得到了答案:

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

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

然后一切正常

于 2013-04-28T09:05:57.430 回答