每次我尝试运行我的makefile时,它都会崩溃,并且我不知道为什么
我使用mytunes.c和.h文件中的sql文件
我是否缺少某些东西,或者我输入的方式有误?
makefile和sqlite3还是新手,所以对此了解不多
这是我的makefile
OBJ = main.o sqlite mytunes.o UI.o command.o str_util.o
cg = gcc
cc = g++
CFLAGS = -c
FLAGS = -std=c++11
LIB = -lpthread -ldl
mytunes: (CFLAGS) main.cpp sqlite3.o $(LIB)
mytunes.o: mytunes.cpp mytunes.h
$(cc) $(CFLAGS) $(FLAGS) mytunes.cpp sqlite3.o $(LIB)
UI.o: UI.cpp UI.h
$(cc) $(CFLAGS) $(FLAGS) UI.cpp
command.o: command.cpp command.h
$(cc) $(CFLAGS) $(FLAGS) command.cpp
str_util.o: str_util.cpp str_util.h
$(cc) $(CFLAGS) $(FLAGS) str_util.cpp
sqlite: sqlite3.c shell.c
$(cg) -o $@ $^ $(LIB)
sqlite3.o : sqlite3.c
$(cg) -o $@ -c $^
clean:
rm -f $(OBJ) mytunes
我做出清晰的音乐时在终端中收到此错误
/Desktop/ac$ make clean mytunes
rm -f main.o sqlite mytunes.o UI.o command.o str_util.o mytunes
g++ -c main.cpp sqlite3.o -lpthread -ldl
g++: warning: sqlite3.o: linker input file unused because linking not done
gcc -o sqlite sqlite3.c shell.c -lpthread -ldl
g++ -c -std=c++11 mytunes.cpp sqlite3.o -lpthread -ldl
g++: warning: sqlite3.o: linker input file unused because linking not done
g++ -c -std=c++11 UI.cpp
g++ -c -std=c++11 command.cpp
g++ -c -std=c++11 str_util.cpp
g++ -o mytunes main.o sqlite mytunes.o UI.o command.o str_util.o
/usr/bin/ld: sqlite: stdout: invalid version 2 (max 0)
sqlite: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
makefile:10: recipe for target 'mytunes' failed
make: *** [mytunes] Error 1
[任何人现在都可以帮忙几天
这是错误的:
OBJ = main.o sqlite mytunes.o UI.o command.o str_util.o
^^^^^^
您无法将sqlite
之类的程序与另一个程序链接。在不知道您实际要做什么的情况下,我们无法为您提供更多信息。