我在编译一个工程时命令行就一直显示"compiling ....."
无语,什么也不提示.只能手动改这个文件了.
先找到echo.因为make默认是什么也不显示的,所以"compiling....."也是用的echo命令!然后就可以看到如
"$(AA) $(BB) $(CC) $(DD)"之类的东西在第二行了,复制这一行用下echo就行了.我用这个方法理清了这个工程的所有依赖关系.我把整个Makefile当成工程调试器了.....
先找到echo.因为make默认是什么也不显示的,所以"compiling....."也是用的echo命令!然后就可以看到如
"$(AA) $(BB) $(CC) $(DD)"之类的东西在第二行了,复制这一行用下echo就行了.我用这个方法理清了这个工程的所有依赖关系.我把整个Makefile当成工程调试器了.....
另外,在mingw中直接编译链接FLTK库真是麻烦,也没有什么说明书,搞了半天,才搞清楚链接什么库是必须的
编译HELLO时会用到这几个库: -lfltk -lcomctl32 -lwsock32 -lole32 -luuid -mwindows,
comctl,wsock,ole,uuid几乎是mingw编译软件必链接的库,最后一个没有搞清楚是为什么,完整版本是:
-lfltk -lcomctl32 -lwsock32 -lole32 -luuid -O3 -Wall -Wunused -Wno-format-y2k -fno-exceptions -fno-strict-aliasing -mwindows -mno-cygwin
正如Makefile所描述的那样:
# libraries to link with:
声音: AUDIOLIBS = -lwinmm
DSO DSOFLAGS = -L. -mwindows -mno-cygwin
LD LDFLAGS = $(OPTIM) -mwindows -mno-cygwin
LD LDLIBS = -lole32 -luuid -lcomctl32 -lwsock32
GL GLDLIBS = -lglu32 -lopengl32 -lole32 -luuid -lcomctl32 -lwsock32
FLTK LINKFLTK = ../lib/libfltk.a
GL LINKFLTKGL = ../lib/libfltk_gl.a
FLTK LINKFLTKFORMS = ../lib/libfltk_forms.a ../lib/libfltk.a
图片 LINKFLTKIMG = ../lib/libfltk_images.a ../lib/libfltk.a $(IMAGELIBS)
DLL: LINKSHARED = ../lib/libfltk_images.a ../lib/libfltk_forms.a ../lib/libfltk.a $(IMAGELIBS)
图片 IMAGELIBS = -L../lib -lfltk_png -lfltk_z -lfltk_jpeg
编译HELLO时会用到这几个库: -lfltk -lcomctl32 -lwsock32 -lole32 -luuid -mwindows,
comctl,wsock,ole,uuid几乎是mingw编译软件必链接的库,最后一个没有搞清楚是为什么,完整版本是:
-lfltk -lcomctl32 -lwsock32 -lole32 -luuid -O3 -Wall -Wunused -Wno-format-y2k -fno-exceptions -fno-strict-aliasing -mwindows -mno-cygwin
正如Makefile所描述的那样:
# libraries to link with:
声音: AUDIOLIBS = -lwinmm
DSO DSOFLAGS = -L. -mwindows -mno-cygwin
LD LDFLAGS = $(OPTIM) -mwindows -mno-cygwin
LD LDLIBS = -lole32 -luuid -lcomctl32 -lwsock32
GL GLDLIBS = -lglu32 -lopengl32 -lole32 -luuid -lcomctl32 -lwsock32
FLTK LINKFLTK = ../lib/libfltk.a
GL LINKFLTKGL = ../lib/libfltk_gl.a
FLTK LINKFLTKFORMS = ../lib/libfltk_forms.a ../lib/libfltk.a
图片 LINKFLTKIMG = ../lib/libfltk_images.a ../lib/libfltk.a $(IMAGELIBS)
DLL: LINKSHARED = ../lib/libfltk_images.a ../lib/libfltk_forms.a ../lib/libfltk.a $(IMAGELIBS)
图片 IMAGELIBS = -L../lib -lfltk_png -lfltk_z -lfltk_jpeg
在mingw环境下手动编译链接FLTK程序可能遇到困难,但通过阅读makefile文件并理解编译过程,可以解决这个问题。关键步骤包括找到echo命令以跟踪编译过程,识别必要的库链接,例如-lfltk、-lcomctl32等。在编译时,还需要考虑一些mingw常用的库,如-windows、-mno-cygwin等。此过程可帮助开发者了解工程的依赖关系。

980

被折叠的 条评论
为什么被折叠?



