在Windows 7中使用MinGW-w64编译C代码时出错
问题描述:
我正在尝试从MinGW编写的backtrace项目https://code.google.com/p/backtrace-mingw/中编译代码,但使用MinGW-w64。在Windows 7中使用MinGW-w64编译C代码时出错
我的旧安装和MinGW-w64的全新安装产生同样的问题。路径被设置在路径变量,以及在命令提示:
C:\的mingw-W64 \ i686-4.9.2-Win32的sjlj-rt_v3-REV1 \的mingw32 \ BIN
和Ç :\ mingw-w64 \ i686-4.9.2-win32-sjlj-rt_v3-rev1 \ mingw32虽然这不是必需的。
这是该项目的生成文件:
.PHONY: all clean
all : backtrace.dll test.exe
backtrace.dll : backtrace.c
gcc -O2 -shared -Wall -o [email protected] $^ -lbfd -lintl -liberty -limagehlp
test.exe : test.c
gcc -g -Wall -o [email protected] $^
clean :
-del -f backtrace.dll test.exe
当编译我得到警告:
backtrace.c:23:17:致命错误:bfd.h:没有这样的文件或目录的#include < bfd.h>`
,因为该文件在../mingw32/include文件夹存在了一个奇怪的。
如果我添加此compilind的DLL时:-IC:\ MinGW的-W64 \ i686-4.9.2-Win32的sjlj-rt_v3-REV1 \ mingw32的\包括继续,但在指令停止:#错误config.h必须包含在此标头和config.h在MinGW-w64中丢失
任何想法?
答
内容添加到编译语句的末尾:
-I./mingw32/include
因此整个编译的语句应该是:
gcc -g -Wall -o [email protected] $^ -I./mingw32/include
所以编译器知道在哪里可以找到包括文件
没有帮助之前把
#define PACKAGE package
。问题是DLL,我已经试过了,看到这个问题。 – reader 2015-02-23 17:54:37