Satır içi işlevleri olan GCC 4.8.1'den gerçekten garip bir hata alıyorum.tanımsız başvuru
Onların yazdırmak Ne tek fark olmak üzere src/include/
başlık dosyaları (debug.h
ve error.h
) tanımlanan iki yakın özdeş satır içi işlevlere sahiptir - iletiye bir önekleri DEBUG:
ve diğer %s: error: %s
(program adı, hata mesajı). Her iki satır içi işlevleri tanımlayan ve hata ayıklama yapı derleme (yani makro DEBUG=1
setleri), ben tanımsız başvuru hataları çok olsun:
src/main_debug.o
gcc -osrc/main_debug.o src/main.c -c -Wall -Wextra -Wpedantic -std=gnu11 -march=native -Og -g -DCC="\"gcc\"" -DCFLAGS="\"-Wall -Wextra -Wpedantic -std=gnu11 -march=native -Og -g\"" -DDEBUG=1 -DBTCWATCH_VERSION="\"0.0.1\""
src/lib/btcapi_debug.o
gcc -osrc/lib/btcapi_debug.o src/lib/btcapi.c -c -Wall -Wextra -Wpedantic -std=gnu11 -march=native -Og -g -DCC="\"gcc\"" -DCFLAGS="\"-Wall -Wextra -Wpedantic -std=gnu11 -march=native -Og -g\"" -DDEBUG=1
src/lib/libbtcapi_debug.a
ar rc src/lib/libbtcapi_debug.a src/lib/btcapi_debug.o
ranlib src/lib/libbtcapi_debug.a
src/lib/cmdlineutils_debug.o
gcc -o src/lib/cmdlineutils_debug.o src/lib/cmdlineutils.c -c -Wall -Wextra -Wpedantic -std=gnu11 -march=native -Og -g -DCC="\"gcc\"" -DCFLAGS="\"-Wall -Wextra -Wpedantic -std=gnu11 -march=native -Og -g\"" -DDEBUG=1
src/lib/libcmdlineutils_debug.a
ar rc src/lib/libcmdlineutils_debug.a src/lib/cmdlineutils_debug.o
ranlib src/lib/libcmdlineutils_debug.a
debug
gcc -obtcwatch-debug src/main_debug.o -Lsrc/lib/ -lbtcapi_debug -lcmdlineutils_debug -lcurl -ljansson
src/main_debug.o: In function `main':
/home/marcoms/btcwatch/src/main.c:148: undefined reference to `debug'
src/main_debug.o:/home/marcoms/btcwatch/src/main.c:185: more undefined references to `debug' follow
collect2: error: ld returned 1 exit status
make: *** [debug] Error 1
Ama static inline
için debug()
'ın tanımını değiştirerek hatalarını ortadan kaldırır. Ancak,tanımından herhangi bir hata almadım; ancak, devalı inline
ve static inline
değil.
tanımlar -std=gnu11
yerine GNU içi anlambilim C99 sağlar geçen (yani örneklenmekte olan) başlıkları tüm the manual göre