gpt4 book ai didi

c - 提供相对路径时加载纹理将不起作用

转载 作者:行者123 更新时间:2023-11-30 16:56:47 25 4
gpt4 key购买 nike

我运行的是 OS X 10.10.5。当我尝试(从终端)运行加载一些纹理的 OpenGL 代码时,出现此错误:“无法打开文件 chair.bmp”执行此行后出现错误

chairTexture = LoadTexBMP("chair.bmp"); 

提供完整路径可以解决问题,但我需要使其与相对路径一起使用。

示例代码附带一个 makefile:

    # Example 9
EXE=ex9

# Main target
all: $(EXE)

# MinGW
ifeq "$(OS)" "Windows_NT"
CFLG=-O3 -Wall
LIBS=-lglut32cu -lglu32 -lopengl32
CLEAN=del *.exe *.o *.a
else
# OSX
ifeq "$(shell uname)" "Darwin"
CFLG=-O3 -Wall -Wno-deprecated-declarations
LIBS=-framework GLUT -framework OpenGL
# Linux/Unix/Solaris
else
CFLG=-O3 -Wall
LIBS=-lglut -lGLU -lGL -lm
endif
# OSX/Linux/Unix/Solaris
CLEAN=rm -f $(EXE) *.o *.a
endif

# Compile rules
.c.o:
gcc -c $(CFLG) $<
.cpp.o:
g++ -c $(CFLG) $<

# Link
ex9:ex9.o
gcc -O3 -o $@ $^ $(LIBS)

# Clean
clean:
$(CLEAN)

在终端中运行pwd会产生/Users/nina/CG/ex9

所有纹理图像以及 ex9.c 和 makefile 都位于 ex9 文件夹中。我试图找到一个解决方案,但我找到的所有解决方案都涉及更改我没有使用的 Xcode 中的工作目录。

最佳答案

我终于明白我做错了什么了。我在终端中使用 open ex9 ,其行为就像我单击可执行文件一样,这又将工作目录更改为主目录。因此,为了不更改工作目录,我应该使用 ./ex9

关于c - 提供相对路径时加载纹理将不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39812054/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com