C++ 如何为mac os x编译bmdview2(.bmd GCN Wii 3D模型)?
这是一个软件工具,可以读取某些游戏立方体或wii游戏(如马里奥阳光或暮光公主)中使用的.bmd 3D模型文件,然后将其导出到.3DS 3D studio。 我在为MacOSX编译这个时遇到了麻烦。存储库: 或 在Xcode中,Matrix44类出错。 在终端中,项目已编译,但无法链接。 也许makefile需要一些调整。。。但是我真的迷路了。我将感谢任何帮助 输出错误: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.
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
您可能需要。谢谢,但如果您能详细说明您的评论,我将不胜感激…安装链接库。您可能需要。谢谢,但如果您能详细说明您的评论,我将不胜感激…安装链接库。