MinGW 编译 GDIPlus 程序

实践才是硬道理。网络上诸多的教程讲 reimp 生成 libgdiplus.a, 供 MinGW 使用,结果完全不行。

然而。直接用 gdiplus.lib 就连接成功了,笑话。

MinGW 版本:  GCC 3.4.2 (mingw-special)

开始参照网络上的方法:

http://wiki.bb4win.org/wiki/Using_GDIPlus_With_MinGW

最后一步,偏偏就是不能生成 libgdiplus.a,想尽各种方法,无济于事。

凑巧的是,试着用 -lgdiplus 连接,居然成功了。

reimp gdiplus.lib


错误提示:

reimp: dlltool: invalid argument or xxx


生成文件:

(1) 0

(2) libgdiplus.a (空的)

(3) gdiplus.def (这个倒是对的)

网上还有用 gdiplus.dll 的,完全无效。


其实,根本不需要转换。最后的成果,贴上 Makefile

#
CC 
=  gcc.exe
CXX 
=  g++.exe
WINDRES 
=  windres.exe
#
SRCEXT 
=  .cpp
OBJEXT 
=  .o
BINEXT 
=  .exe

#
CFLAGS 
=
CXXFLAGS 
=  
INC 
=  
LIB 
=   -mwindows -lgdiplus

#
SRCDIR 
=  .
INCDIR 
=  
IN  
=  hello.cpp    
SRC 
=  $(addprefix $(SRCDIR)/ ,  $(IN)) 

#
OBJ 
=  ${IN:$(SRCEXT) = $(OBJEXT)}
BIN 
=  hello.exe
RC  
=  
RES 
=  ${RC:.rc = .res}
#
HEADER 
=  
#
all: $(BIN)

#
$(BIN) : $(OBJ) $(RES)
    $(CXX) -o $(BIN) $(OBJ) $(LIB) $(RES)

#
$(OBJ) : $(SRC) $(HEADER)
    $(CXX) -c -DBUILD_EXE $(SRC) $(CXXFLAGS) $(INC)

#
$(RES) : $(RC) resource.h
    $(WINDRES) -i $(RC) -o $(RES) -O coff 
    
#
clean :
    rm ${OBJ} ${BIN}

你可能感兴趣的:(MinGW 编译 GDIPlus 程序)