1

ここで、Stackoverflow で 3D モデルを Android の OpenGL にインポートする方法を見つけました。

3D モデルを Android にインポートする方法はありますか?

指示に従おうとして、ソースをコピーしてプログラムをコンパイルしようとしました。膨大な数のエラーが発生しました。ここに小さなサンプルを示します。

    /tmp/ccPavSpL.o:OFF-OpenGL_loader.cc:(.text+0xd): undefined reference to `std::basic_string<char,
    std::char_traits<char>, std::allocator<char> >::size() const'

問題は、プログラムに引数を渡していなかったことだと思うので、次のように引数を渡そうとしました:

    $  gcc OFF-OpenGL_loader.cc circle.off output.xml

(私の .off ファイルは他のソース ファイルと同じディレクトリにあり、output.xml も同じファイルにありました。) これらのエラーが発生しました。

    /usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../i686-pc-cygwin/bin/ld:circle.off: file format not recognized;
    treating as linker script
    /usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../i686-pc-cygwin/bin/ld:circle.off:2: syntax error
    collect2: ld returned 1 exit status

とにかく、私は output.xml ファイルを持っているはずではなかったと感じていますが、持っていなかった場合、ファイルが見つからないというエラーが発生しました。

オープンソース ファイルは実際のファイルではなかったので、すべてのファイルを表示する必要があると思います。他の人のソースを github リポジトリにアップロードするのは奇妙に感じます。そのため、ソース ファイルへの迅速な共有リンクを次に示します。

http://d01.megashares.com/dl/2YylIbE/SourceCodeAnd.offFile.zip

このようにファイルを共有するのは奇妙に感じます^^しかし、他に選択肢はありません。.off ファイルと .xml ファイル、および C と C++ ファイルだけが含まれています。

過去数日間、これに固執してきました。ありがとう!

編集

だから私はg ++でパラメータなしでそれを実行し、これらは結果でした:

     $  g++ OFF-OpenGL_loader.cc
     /tmp/ccNFneYn.o:OFF-OpenGL_loader.cc:(.text+0x1aa): undefined reference to  
     `ReadFile::getExtension(char*)'/tmp/ccNFneYn.o:
    OFF-OpenGL_loader.cc:(.text+0x2f8): undefined reference to 
    operator>>(std::basic_ifstream<char, std::
    char_traits<char> >&, ReadFile&)'/tmp/ccNFneYn.o:OFF-
    OpenGL_loader.cc:(.text+0x6de): undefined reference to `ReadFile::ReadFile()'/tmp/ccNFneYn.o:OFF-
    OpenGL_loader.cc:(.text+0x6f9): undefined reference to `ReadFile::~ReadFile()'/usr/lib/gcc/i686-pc-
    cygwin/3.4.4/../../../../i686-pc-cygwin/bin/ld: 
    /tmp/ccNFneYn.o: bad reloc address 0x1c in section 
    `.gcc_except_table'/usr/lib/gcc/i686-pc-cygwin/3.4.4/.
    ./../../../i686-pc-cygwin/bin/ld: final link failed: 
    Invalid operationcollect2: ld returned 1 exit status

どのような種類のエラーを探していますか?

4

1 に答える 1

2

問題は、Visual Studioでプログラムを実行すると、プログラムのコンパイルと実行の両方が行われ、ソースではパラメーターの実行が必要なため、ランタイムエラーが発生することでした。

次に、Visual Studioのプログラムにパラメーターを渡す方法がわからなかったため、Cygwinを使用してみましたが、正しく構成されていなかったためか、エラーが発生しました。これらのエラーが発生した理由はよくわかりません。

したがって、このすべてを解決するために、Visual Studioを使用してプログラムを構築し、コンパイル時に作成される.exeファイルに移動して、コマンドラインでその.exeを実行しました。

したがって、この話の教訓は次のとおりです。緑色の再生ボタンを押すと、プログラムのコンパイルと実行の両方が行われることを常に忘れないでください。したがって、エラーがプログラムを実行する状況に関係している場合は、コードが完全に正常であってもエラーが発生する可能性があります。

私がそのアイデアを得るのを手伝ってくれたBoPerssonに感謝します!

于 2012-11-11T00:37:46.753 に答える