2012-02-23 158 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

相關問題