Issue with Makefile for mysql

Issue with Makefile for mysql

本文关键字:mysql for Makefile with Issue      更新时间:2023-10-16

我在将mysql链接到我的项目时遇到问题。我已经尝试了几种我在网上找到的方法(我是Makefiles的新手,请耐心等待)无论如何,这是我的makefile:

CC=g++
CFLAG=-c
INCLUDES="/Library/mysql"
all:myapp
myapp: main.o Application.o
    $(CC) main.o Application.o
main.o: main.cpp
    $(CC) $(CFLAGS) main.cpp
Application.o: Application.cpp $(INCLUDES)
    $(CC) -lm $(INCLUDES) $(CFLAGS) Application.cpp
clean:
    rm -rf *o myapp

mysql.h包含在Application.h文件中。mysql文件夹位于"/Library"我正在运行OS X Mavericks(如果相关的话)。

错误为

make: *** No rule to make target `"/Library/mysql"', needed by `Application.o'.  Stop.

您应该为C++编译器和标志使用变量CXXCXXFLAGS,而不是CCCFLAGS;这些是针对C编译器的。

当您将目录传递给编译器以搜索标头时,必须在它们前面加上-I标志。此外,预处理器标志最好放在CPPFLAGS变量中,因此您应该使用:

CPPFLAGS = -I/Library/mysql

您不应该将目录作为目标的前缀,因此不要将$(INCLUDES)(或$(CPPFLAGS))变量添加到Application.o的先决条件列表中。