2016-10-01 6 views
0

OS X 10.10.5を実行しています。私は(端末から)いくつかのテクスチャをロードするOpenGLのコードを実行しようとすると、私はこのエラーを取得する: 「オープンファイルchair.bmpすることはできません」というエラーがフルを提供相対パスを指定するとテクスチャを読み込むことはできません

chairTexture = LoadTexBMP("chair.bmp"); 

をこの行を実行した後に発行されますパスは問題を解決しますが、私はそれを相対パスで動作させる必要があります。

のコード例では、メイクファイルが付属しています:

# 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 [email protected] $^ $(LIBS) 

    # Clean 
    clean: 
     $(CLEAN) 

/Users/nina/CG/ex9

すべてのテクスチャ画像がex9.cとメイクファイルと一緒にEX9フォルダにあるターミナル収率でpwdを実行しています。 私は解決策を見つけようとしましたが、私が見つけたすべての解決策は、私が使用していないXcodeの作業ディレクトリを変更することについて話しました。

+0

try:chairTexture = LoadTexBMP( "./ chair.bmp"); – Murillio4

+0

@ Murillio4既にそれを試して、うまくいきませんでした。 – nina

+0

あなたは-O3を使用しようとしませんでしたか? -O2と-O3は私のプログラムに奇妙なことをしますsomyimes – Murillio4

答えて

0

私は最終的に私が間違っていたことを考え出しました。私は端末でopen ex9を使用していましたが、これは実行可能ファイルをクリックしているかのように動作し、作業ディレクトリをホームディレクトリに変更します。ですから、作業ディレクトリを変更しないようにするには、使用する必要があります./ex9

関連する問題