我的makefile由于sqlite3错误而无法使用

问题描述 投票:0回答:1

每次我尝试运行我的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

[任何人现在都可以帮忙几天

c++ sqlite makefile
1个回答
0
投票

这是错误的:

OBJ = main.o sqlite mytunes.o UI.o command.o str_util.o
             ^^^^^^

您无法将sqlite之类的程序与另一个程序链接。在不知道您实际要做什么的情况下,我们无法为您提供更多信息。

© www.soinside.com 2019 - 2024. All rights reserved.