C++ 如何为mac os x编译bmdview2(.bmd GCN Wii 3D模型)?

C++ 如何为mac os x编译bmdview2(.bmd GCN Wii 3D模型)?,c++,macos,makefile,compiler-errors,C++,Macos,Makefile,Compiler Errors,这是一个软件工具,可以读取某些游戏立方体或wii游戏(如马里奥阳光或暮光公主)中使用的.bmd 3D模型文件,然后将其导出到.3DS 3D studio。 我在为MacOSX编译这个时遇到了麻烦。存储库: 或 在Xcode中,Matrix44类出错。 在终端中,项目已编译,但无法链接。 也许makefile需要一些调整。。。但是我真的迷路了。我将感谢任何帮助 输出错误: g++ -o bmdview2_glut simple_gl_glut.o main.o drawBmd.o camera.

这是一个软件工具,可以读取某些游戏立方体或wii游戏(如马里奥阳光或暮光公主)中使用的.bmd 3D模型文件,然后将其导出到.3DS 3D studio。 我在为MacOSX编译这个时遇到了麻烦。存储库: 或

在Xcode中,Matrix44类出错。 在终端中,项目已编译,但无法链接。 也许makefile需要一些调整。。。但是我真的迷路了。我将感谢任何帮助

输出错误:

g++ -o bmdview2_glut simple_gl_glut.o main.o drawBmd.o camera.o drawtext.o parameters.o transformtools.o simple_gl_common.o oglblock.o ui.o addons/exportTexture.o addons/export3ds.o addons/exportb3d.o addons/bck.o addons/btp.o bmdread.o openfile.o common.o drw1.o evp1.o inf1.o jnt1.o mat3.o mdl3.o shp1.o tex1.o vtx1.o -O2 -lGL -lGLU -lglut -lGLEW -l3ds
ld: library not found for -lGL
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [bmdview2_glut] Error 1
Command /usr/bin/make failed with exit code 2
生成文件:

GLEW_DIR = glew
GLEW_INC_DIR = $(GLEW_DIR)/include
GLEW_LIB_DIR = $(GLEW_DIR)/lib
LIB3DS_INC_DIR = ../lib3ds-1.2.0
LIB3DS_LIB_DIR = $(LIB3DS_INC_DIR)/lib3ds

CXXFLAGS = -I$(GLEW_INC_DIR) -O2 -ggdb -Wall \
           -I$(LIB3DS_INC_DIR) \
           #-fpascal-strings  # needed for 3d mouse api

BASE_SRCS = bmdread.cpp openfile.cpp common.cpp drw1.cpp \
            evp1.cpp inf1.cpp jnt1.cpp mat3.cpp mdl3.cpp shp1.cpp tex1.cpp \
            vtx1.cpp

BMDINFO_SRCS = bmdinfo.cpp $(BASE_SRCS)

BMDINFO_OBJS = $(BMDINFO_SRCS:.cpp=.o)

BMDVIEW2_SRCS = simple_gl_glut.cpp main.cpp drawBmd.cpp \
       camera.cpp drawtext.cpp parameters.cpp transformtools.cpp\
       simple_gl_common.cpp oglblock.cpp ui.cpp \
       addons/exportTexture.cpp addons/export3ds.cpp addons/exportb3d.cpp \
       addons/bck.cpp addons/btp.cpp $(BASE_SRCS)

BMDVIEW2_OBJS = $(BMDVIEW2_SRCS:.cpp=.o)


# I don't know how dylibs work with bundles, so I've statically linked GLEW
# for now.

# this can be used to emped an Info.plist without building a bundled app,
# but it seems not to suffice for the 3d mouse api 
#-sectcreate __TEXT __info_plist Info.plist \

bmdview2_glut: $(BMDVIEW2_OBJS)
    g++ -o $@ $^ -O2 -lGL -lGLU -lglut -lGLEW -l3ds

Bmdview2.app: bmdview2_glut Info.plist icon.icns
    rm -rf Bmdview2.app
    mkdir -p Bmdview2.app/Contents/MacOS
    mkdir Bmdview2.app/Contents/Resources
    cp Info.plist Bmdview2.app/Contents
    cp icon.icns Bmdview2.app/Contents/Resources
    cp bmdview2_glut Bmdview2.app/Contents/MacOS

mac.o: mac.mm
    g++ -c -O2 mac.mm

mat3.o: common/gccommon.h mat3.h

#TODO: OpenGL/GLEW shouldn't be required for a mere console program...
bmdinfo: $(BMDINFO_OBJS)
    g++ -o $@ $^ \
    -L$(LIB3DS_LIB_DIR) -l3ds \
    -L$(GLEW_LIB_DIR) -lGLEW \
    -framework OpenGL

clean:
    rm -f `echo $(BMDVIEW2_OBJS) $(BMDINFO_OBJS) | sort | uniq` bmdview2_glut

run: bmdinfo
    ./bmdinfo testdata/model.bmd

runglut:
    export DYLD_LIBRARY_PATH=$(GLEW_LIB_DIR);./bmdview2_glut testdata/model.bmd

zip:
    zip bmdview2_src_`date '+%Y%m%d'`.zip *.h *.cpp testdata/tests/ common/gccommon.h addons/*.cpp addons/*.h tev.html tev.markdown style.css resource.rc icon.ico Makefile *.inc gl_template.ds*

test: bmdview2_glut
    ./bmdview2_glut WoodCircleCutPlanet.bdl
test2: bmdview2_glut
    ./bmdview2_glut NigeroPlanet.bdl

您可能需要。谢谢,但如果您能详细说明您的评论,我将不胜感激…安装链接库。您可能需要。谢谢,但如果您能详细说明您的评论,我将不胜感激…安装链接库。