0
Linux上でsqlite3
をソースからインストールし、これをMakefileでCコードのサブディレクトリに配置しました。私はmake
を実行しようとしたときにこれはMakefile
はメイクファイルエラー:/ usr/bin/ld:-lsqlite3を見つけることができません
CC = gcc
CFLAGS = -Wall -g -std=c99
SOURCES := src/file1.c src/file2.c src/file3.c
LIB := -lm -lsqlite3
INC := -I include -I path/to/pathname/sqlite3/include
all:
@mkdir -p bin/
$(CC) $(CFLAGS) $(SOURCES) main.c -L path/to/pathname/sqlite3/ -o bin/software $(LIB) $(INC)
clean:
rm -f bin/sofware
どのように見えるしかし、私はこのエラーを取得します
gcc -Wall -g -std=c99 src/file1.c src/file2.c src/file3.c -I include -I path/to/pathname/sqlite3/include
/usr/bin/ld: cannot find -lsqlite3
collect2: error: ld returned 1 exit status
make: *** [all] Error 1
私は理解していません。 sqlite3
はここpath/to/pathname/sqlite3/
であるpath/to/pathname/sqlite3/
内のファイル/実行ファイルのリストです:
aclocal.m4 config.log configure.ac install-sh ltmain.sh missing shell.o sqlite3.h sqlite3.pc.in
autom4te.cache config.status depcomp lib Makefile README sqlite3 sqlite3.lo tea
bin config.sub include libsqlite3.la Makefile.am share sqlite3.c sqlite3.o
config.guess configure INSTALL libtool Makefile.in shell.c sqlite3ext.h sqlite3.pc
1が正しく、このCコードはsqlite3のへのアクセスを適切にコンパイルすることができない方法は?
'LDFLAGS = -Lpath//パス名に/ sqlite3の/ lib'(ライブラリバイナリが実際に存在する場所lib'は'仮定)を追加する必要があります。 – kaylum
また、あなたが提供した情報については、まったく正しいものではありません。 makefileは 'main.c'がビルドコマンドラインに含まれるべきだと言います。しかし、あなたの出力には表示されません。 'gcc'行に' -lsqlite3'も表示されません。何かが間違っているのか、間違った出力に貼り付けたのかは分かりません。 – kaylum