准备过程
-
下载源代码
-
打开msys运行环境,将工作目录cd到fltk解压后的目录
-
按默认设置,
configure
,make
,make install
,在Compiling factory.cxx...这个过程中可能会遇到一个错误error: 'int _stricmp' redeclared as different kind of symbol. 在找到了答案Greg Ercolano Jul 1 Oh, forgot to mention: fluid won't build (specifically, factory.cxx) unless I add the following to config.h: #define HAVE_STRCASECMP 1
..as apparently the compiler's definition collides with the one fluid's factory.cxx defines if it sees that macro isn't set.
What's odd is 'configure' output said: checking for strcasecmp... yes ..but it still left HAVE_STRCASECMP undef'ed.
-
到此为止,已经成功装完咯,那么怎么在windows下编译以及运行fltk程序呢
编译以及运行fltk程序
-
vim是一个很好的编辑器,这里用的是gvim。没有IDE的调试,编译帮助,剩下的就自己写makefile咯。
-
makefile编写。在这里,结合fltk自带的makefile.fltk,针对自己的使用情况,形成了下面当下使用的makefile
# makefile.myfltk CXX = g++ CXXFLAGS = -mwindows -DWIN32 -DUSE_OPENGL32 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -Wall -I. LDFLAGS = -mwindows LIBS = -lfltk_images -lfltk_png -lfltk_z -lfltk_jpeg -lfltk_gl -lglu32 -lopengl32 -lfltk -lole32 -luuid -lcomctl32 # makefile include makefile.myfltk b.exe: test.o $(CXX) $^ $(LDFLAGS) $(LIBS) -o $@ test.o: test.cpp test.h $(CXX) $(CXXFLAGS) -c $< -o $@
-
使用的时候直接切换到msys环境,make一下就ok了,由于经常调用msys环境,为了能在打开msys后直接切换到当前目录,当下使用的方法是:shift+右键当前目录,先打开cmd,然后调用msys命令(前提msys.bat应该先放到path中),然后调用
cd -
直接切换到当前工作目录了 -
按照上面进行操作会出现,找不到相应的头文件,因为还差了一步--设置g++的全局变量,我的电脑>高级>环境变量中添加:
CPLUS_INCLUDE_PATH
,如:L:\mytools\MinGW\lib\gcc\mingw32\4.8.1\include;L:\mytools\MinGW\lib\gcc\mingw32\4.8.1\include\c++;L:\mytools\MinGW\msys\1.0\local\include;
,LIBRARY_PATH
,如:L:\mytools\MinGW\lib;L:\mytools\MinGW\lib\gcc\mingw32\4.8.1;L:\mytools\MinGW\msys\1.0\local\lib
结语
Congratulations!