编译C 源的问题将.OFF文件转换为XML Android OpenGL ES可读取的问题

Problems with compiling C++ Source for Converting .off Files to XML Readable by Android OpenGL ES

本文关键字:问题 Android XML OpenGL ES 读取 文件 OFF 编译 转换      更新时间:2023-10-16

我找到了一种将3D模型导入Android OpenGL在stackoverflow上的方法:

有没有办法将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文件,但是当我没有一个文件时,它给了我一个未找到错误的文件。

opensource文件不在实际文件中,所以我觉得我应该向您展示所有文件,并且我觉得将别人的源上载到GitHub repo中很奇怪,因此这是指向源文件的快速共享链接:

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

我在寻找什么样的错误?

问题是,当我在Visual Studio中运行我的程序时,它将既编译和运行程序,并且由于源所需的参数要运行,因此会出现运行时错误。

那么,因为我不知道如何将参数传递给Visual Studio中的程序,所以我尝试使用Cygwin,这给了我错误,可能是因为它没有正确配置。不太确定为什么会发生这些错误。

为了解决整个过程,我刚刚使用Visual Studio构建了我的程序,并导航到其编译时创建的.exe文件,然后在命令行中运行.exe。

因此,故事的寓意是:始终记住,当您点击该绿色游戏按钮时,它既可以编译并运行程序。因此,如果您的错误与您运行程序中的情况有关,即使您的代码完全可以,也可能会遇到错误。

感谢Bo Persson帮助我获得这个想法!