错误编译在Windows中使用的MinGW C代码7
问题描述:
的生成文件如下:错误编译在Windows中使用的MinGW C代码7
.PHONY: all clean
all : backtrace.dll test.exe
backtrace.dll : backtrace.c
gcc -O2 -shared -Wall -o [email protected] $^ -lbfd -liberty -limagehlp --verbose
test.exe : test.c
gcc -g -Wall -o [email protected] $^
clean :
-del -f backtrace.dll test.exe
的源代码backtrace.c
是一个库,可以获取在C.堆栈跟踪的细节是在谷歌代码: http://code.google.com/p/backtrace-mingw/
当我使用命令:
mingw32-make
我得到的错误信息:
gcc -O2 -shared -Wall -o backtrace.dll backtrace.c -lbfd -liberty -limagehlp
C:/MinGW/lib/libbfd.a(libbfd.o):libbfd.c:(.text+0x6ee)锛氬鈥榣ibintl_dgettext
鈥欐湭瀹氫箟鐨勫紩鐢
C:/MinGW/lib/libbfd.a(libbfd.o):libbfd.c:(.text+0x740)锛氬鈥榣ibintl_dgettext
鈥欐湭瀹氫箟鐨勫紩鐢
C:/MinGW/lib/libbfd.a(libbfd.o):libbfd.c:(.text+0x79b)锛氬鈥榣ibintl_dgettext
鈥欐湭瀹氫箟鐨勫紩鐢
C:/MinGW/lib/libbfd.a(libbfd.o):libbfd.c:(.text+0x7d0)锛氬鈥榣ibintl_dgettext
鈥欐湭瀹氫箟鐨勫紩鐢
C:/MinGW/lib/libbfd.a(bfd.o):bfd.c:(.text+0x8fd)锛氬鈥榣ibintl_dgettext鈥欐湭
瀹氫箟鐨勫紩鐢
C:/MinGW/lib/libbfd.a(bfd.o):bfd.c:(.text+0x964): more undefined references to `
libintl_dgettext' follow
collect2: ld returned 1 exit status
mingw32-make: *** [backtrace.dll] Error 1
我该如何解决这个错误?
答
您必须添加一个引用到的libintl库,让您的链接线变为:
gcc -O2 -shared -Wall -o [email protected] $^ -lbfd -liberty -limagehlp -lintl --verbose