1

私が取り組んでいるプロジェクトがあり、複数のファイルがあり、make を使用してプロジェクトをコンパイルします。ここにメイクファイルがあります

CC =  /opt/gcc-4.7-cilkplus/bin/gcc
CFLAGS = -ggdb3 -Wall
COMPLILEFLAGS = `mysql_config --include` -I/opt/gcc-4.7-cilkplus/include/
LINKERINFO = `mysql_config --cflags --libs` -lrt -lm -lz
CILKFLAGS = -lcilkrts

# To be provided at the commandline
DIR = './bloom'
MODE = '2'
FILENAME = 'database.info'

exec: main.o mysql-client.o databaseConnection-common.o murmurhash3.o bloom-filter.o md5.o auxilary-functions.o
    $(CC) $(CFLAGS) -o exec main.o mysql-client.o databaseConnection-common.o murmurhash3.o bloom-filter.o \
    md5.o auxilary-functions.c $(LINKERINFO) $(CILKFLAGS)

main.o: main.c mysql-client.h databaseConnection-common.h bloom-filter.h
    $(CC) $(CFLAGS) $(COMPLILEFLAGS) -c main.c $(CILKFLAGS)

bloom-filter.o: bloom-filter.c bloom-filter.h murmurhash3.h auxilary-functions.h 
    $(CC) $(FLAGS) $(COMPLILEFLAGS) -c bloom-filter.c

murmurhash3.o: murmurhash3.c murmurhash3.h
    $(CC) $(CFLAGS) -c murmurhash3.c

md5.o: md5.c md5.h
    $(CC) $(CFLAGS) -c md5.c

mysql-client.o: mysql-client.c mysql-client.h databaseConnection-common.h
    $(CC) $(CFLAGS) $(COMPLILEFLAGS) -c mysql-client.c

databaseConnection-common.o: databaseConnection-common.c databaseConnection-common.h
    $(CC) $(CFLAGS) $(COMPLILEFLAGS) -c databaseConnection-common.c

auxilary-functions.o: auxilary-functions.h auxilary-functions.c
    $(CC) $(CFLAGS) -c auxilary-functions.c

run:
    ./exec $(MODE) $(FILENAME) $(DIR)

プログラムをデバッグするために、gdb を使用して次のコマンドを時系列で実行します。

gdb ./exec

run 2 database.info ./bloom

ファイル main.c にブレークポイントを追加しようとすると、正常に動作します。しかし、試してみるbreak bloom-filter.c:340とエラーが発生しますNo source file named bloom-filter.c。以外のソース ファイルにブレークポイントを追加するにはどうすればよいですか?main.c

4

1 に答える 1

3

Makefilefor targetにタイプミスがありbloom-filter.oます。エラーが発生する可能性が最も高いのは、デバッグフラグが有効になっていないためでは$(FLAGS)なく、コンパイルフラグについて言及しました。に変更して確認してみてください。 お役に立てれば!$(CFLAGS)bloom-filter.o$(FLAGS)$(CFLAGS)

于 2012-06-29T15:20:27.043 に答える