2012-02-23 150 views
0

下面是生成文件:如何配置一个OpenGL生成文件的Windows(从Linux)的

CC  = g++ 
LD  = g++ 
CFLAGS = -I/usr/X11R6/include -I. -c 
LDFLAGS = -L/usr/X11R6/lib -lglut -lGLU -lGL -lXi -lXmu -lXt -lXext -lX11 -lSM -lICE -lm 

INCS = 

OBJS = x.o 

all: x 

clean: 
    rm -rf $(OBJS) x 

cgRender.o: $(INCS) x.cpp 
    $(CC) $(CFLAGS) x.cpp -o x.o 

cgRender: $(OBJS) 
    $(LD) $(OBJS) -o x $(LDFLAGS) 

它为Linux做,但我试图编译它在Windows上。

的错误,我不断收到这个样子的:

c:/strawberry/c/bin/*directories that don't exist/i686-w64-mingw32/bin/ld.exe: cannot find -lGlu/-lGl/-lXi/etc.... 

如果有人可以帮助我在这里,我会非常感激。由于

回答

1

LDFLAGS = -L的/ usr/X11R6/lib目录-lglut -lGLU -lGL -lXi -lXmu -lXt -lXext -lX11 -lSM -lICE -lm

在Windows中,normaly唐不要链接到X11库,因此请删除所有的-lX…,-lSM-lICE。同时删除X11 include和库目录参数-I/usr/X11R6/include,-L/usr/X11R6/lib

请注意,此Makefile必须非常旧,因为这些库和目录都不需要明确提及编译器或链接器,因为GLUT会将库作为动态库依赖关系进行提取。

+0

包含这些库是否意味着它们的函数在代码中被引用,这意味着不仅makefile,而且代码都需要移植到Windows环境中? – eriktous 2012-02-23 22:41:29

+0

@eriktous:如果OP试图编译的代码坚持使用GLUT,那么它应该是可移植的。对这些库的引用可能在那里,因为链接程序过去常常可以从链接的SO导入中拉取依赖关系,并且必须显式提供。现在这在大多数系统中不再需要。 – datenwolf 2012-02-23 22:46:22

相关问题