在配置Eclipse环境时遇到的问题!

这是wxWidgets论坛的中文版本。在这里,您可以用您的母语汉语讨论上面任一子论坛所涉及的所有关于wxWidgets的话题。欢迎大家参与到对有价值的帖子的中英互译工作中来!
Post Reply
gpml119
In need of some credit
In need of some credit
Posts: 3
Joined: Thu Apr 03, 2008 5:29 pm

在配置Eclipse环境时遇到的问题!

Post by gpml119 » Fri Apr 04, 2008 5:44 pm

在使用Eclipse+CDT+MinGW+xwWidgets搭建平台时,碰到要有预定义的宏,比如__WXMSW__、__WXDEBUG__、WXUSINGDLL等,不知道哪里有全面介绍wxWidgets使用的宏的文档,请各位达人赐教!

swordfish862
In need of some credit
In need of some credit
Posts: 6
Joined: Mon Apr 07, 2008 12:06 pm
Location: Yunnan,China
Contact:

Post by swordfish862 » Mon Apr 07, 2008 12:39 pm

要是你在安装MinGW的时候再安装msys那么我的办法也许可行(我自己已经成功使用)。
1、进入msys终端编译安装wxWidget(使用configure, make ,make install,具体参考安装文档);
2、成功之后再msys终端中输入wx-config 会出现一大堆有关帮助的信息;
3、建立启动eclipse的批处理文件startEclipse.bat,内容如下:
@ECHO OFF
set PATH=%CD%\Java\bin;%CD%\msys\local\bin;%CD%\mingw\bin;
cd eclipse
start eclipse
exit
(这个批处理的条件是把eclipse、msys、mingw和startEclipse.bat都放入同一目录,我的java用的是绿色版,也和前面的那几个目录和文件在同一目录下,本来是想做个portable的开发环境,但后来工作环境变迁了,也就没必要了)
4、在eclipse选择新建工程的时候选择建立makefile的空项目,我的makefile是这么写的:
TARGET=eventproc.exe
OBJ=eventframe.o eventapp.o

WXCONFIG=wx-config

#setting up compile environmnet

CXX=$(shell $(WXCONFIG) --cxx)
CXXFLAGS=$(shell $(WXCONFIG) --cxxflags)
LIBS=$(shell $(WXCONFIG) --libs)

$(TARGET):$(OBJ)
$(CXX) -o $(TARGET) $(OBJ) $(LIBS) $(CXXFLAGS)
# strip -s $(TARGET)
# upx -9 $(TARGET)
eventframe.o: eventframe.h eventframe.cpp
eventapp.o: eventapp.h eventapp.cpp

all:$(TARGET)

.PHONY:clean

clean:
rm -rf $(TARGET) $(OBJ)
5、后来参考了网上一位大侠写的makefile,也附上:
###############################################################
# Makefile Model for wxWidgets application ver 1.0
# Created by Taii on 20060520
###############################################################

PROGRAM = upx-gui.exe

LIBPATH = ./
OBJPATH = ./obj/
SRCPATH = ./src/
BINPATH = ./release/
RCFILE = upx-gui

COMPILER= $(shell wx-config --cxx)
LINKER = $(shell wx-config --cxx)
WINDRES = windres.exe

DEFINES = -fno-exceptions -fno-pcc-struct-return -fstrict-aliasing -Wall -D__WXMSW__ -D__GNUWIN32__ -D__WIN95__ -fexpensive-optimizations -O3
WXCXXFLAG =$(shell wx-config --cxxflags)
FLAGS = $(DEFINES) $(WXCXXFLAG)

OSLIB =
WXLIB = $(shell wx-config --libs)
LIBS = $(OSLIB) $(WXLIB)
RCINCS = --include-dir "/usr/local/include/wx-2.8/"

SOURCES = $(wildcard $(SRCPATH)*.cpp)

OBJS := $(addprefix $(OBJPATH),$(patsubst $(SRCPATH)%.cpp,%.o,$(SOURCES))) $(OBJPATH)$(RCFILE).res

EXES = $(BINPATH)$(PROGRAM)

.PHONY : all clean veryclean rebuild

all: $(EXES)

$(PROGRAM): $(BINPATH)$(PROGRAM)

$(BINPATH)$(PROGRAM): $(OBJS)
$(LINKER) $(OBJS) \
$(LIBS) -o [email protected]

$(OBJPATH)%.o : $(SRCPATH)%.cpp $(SRCPATH)*.h
$(COMPILER) $(FLAGS) -c $< -o [email protected]

$(OBJPATH)$(RCFILE).res : $(SRCPATH)$(RCFILE).rc
$(WINDRES) --input-format=rc -o $(OBJPATH)$(RCFILE).res $(RCINCS) $(SRCPATH)$(RCFILE).rc -O coff

clean:
rm $(OBJPATH)*.o
rm $(OBJPATH)*.res

veryclean: clean
rm $(EXES)

rebuild: veryclean all
这个makefile本来是linux环境下的,被我加入了rc文件的编译($(RCFIlE).res),经测试,这个makefile可以在上述msys+mingw环境中可以很好的使用,如果在$(RCFILE).res中使用
#include <wx/msw/wx.rc>
A ICON MOVEABLE PURE LOADONCALL DISCARDABLE "../res/conGUI.ico"
的话,可以实现xp的主题和自定程序图标(conGUI.ico)

Post Reply