1

这可能与问题无关,但这里是上下文:我一直在关注关于 OpenGL 的教程,并决定在寻找可能更好的实现之前尝试创建自己的骨骼系统。
这就是问题所在:我为我的骨架文件创建了一个简单的基于文本的格式。我还加载了一个 OBJ 文件、两个 GLSL 着色器和一个 PNG 格式的纹理。(以防万一,我使用来自nothings.org的 STB Image 加载纹理)。我之前所有的文件加载都是成功的。加载骨架文件是成功的,但是在我加载骨架文件之后,所有后续加载文件的尝试都失败了,产生各种错误,具体取决于函数调用的位置。在我更喜欢它的位置,它会产生一个 SIGABRT。

这是我初始化骨架的代码,包括:

#include <stdio.h>
#include <iostream>
#include <sstream>
#include <fstream>
#include <cstring>
#include <glm/glm.hpp>
#include <glm/gtc/matrix_transform.hpp>

#include "model_stuff.hpp"
#include "skeleton_stuff.hpp"


void Skeleton::init(const char *sklfile) {
  std::ifstream in(sklfile, std::ios::in);
  if (!in) { std::cerr << "Cannot open " << sklfile << std::endl; exit(1); }

  std::string line;
  getline(in, line);
  if(line.substr(0,2) == "i ") {
    std::istringstream s(line.substr(2));
    s >> this->numBinds;
    this->boneBinds = new BoneBind[numBinds];
  } else {
    std::cerr << "Error: Missing information line for " << sklfile << std::endl; exit(1);
  }
  while (getline(in, line)) {
    if(line.substr(0,2) == "b ") {
      std::istringstream s(line.substr(2));
      std::string name;
      s >> name;
      glm::vec4 pos;
      s >> pos.x; s >> pos.y; s >> pos.z; pos.w = 1.0f;
    } else if(line.substr(0,2) == "v ") {
      std::istringstream s(line.substr(2));
      int v;
      s >> v;
      std::vector<Bone*> bones;
      while(!s.eof()) {
        std::string str;
        s >> str;
        bones.push_back(this->boneNamed(str));
      }
      float boneweight = 1.0f;
      if(bones.size() > 0) {
        boneweight = 0.5f;
      }
      boneBinds[v].boneweight = bones.size();
      boneBinds[v].childbone = bones[0];
      if(boneweight != 1.0f) {
        boneBinds[v].superbone = bones[1];
      } else {
        boneBinds[v].superbone = bones[0];
      }
    }
  }
}

这是 gdb 的输出:

(gdb) run
Starting program: /home/pitzik4/Dropbox/Pitzik4/cppWorkspaces/glTestWorkspace/Triangle2/bin/model 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
*** glibc detected *** /home/pitzik4/Dropbox/Pitzik4/cppWorkspaces/glTestWorkspace/Triangle2/bin/model: free(): invalid next size (normal): 0x0000000000d630c0 ***
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x7e626)[0x7ffff6b7a626]
/usr/lib/x86_64-linux-gnu/dri/libdricore.so(_mesa_symbol_table_dtor+0x55)[0x7ffff4537bb5]
/usr/lib/x86_64-linux-gnu/dri/libglsl.so(_ZN17glsl_symbol_tableD1Ev+0xd)[0x7ffff41024dd]
/usr/lib/x86_64-linux-gnu/dri/libglsl.so(_Z22cross_validate_globalsP17gl_shader_programPP9gl_shaderjb+0x116)[0x7ffff4112306]
/usr/lib/x86_64-linux-gnu/dri/libglsl.so(_Z12link_shadersP10gl_contextP17gl_shader_program+0x260)[0x7ffff4113e40]
/usr/lib/x86_64-linux-gnu/dri/libdricore.so(_mesa_glsl_link_shader+0xfb)[0x7ffff459e21b]
/usr/lib/x86_64-linux-gnu/dri/libdricore.so(_mesa_get_fixed_func_fragment_program+0xa59)[0x7ffff4592c39]
/usr/lib/x86_64-linux-gnu/dri/libdricore.so(_mesa_update_state_locked+0x872)[0x7ffff44978e2]
/usr/lib/x86_64-linux-gnu/dri/libdricore.so(_mesa_update_state+0x11)[0x7ffff4497d51]
/usr/lib/x86_64-linux-gnu/dri/libdricore.so(+0xcfc48)[0x7ffff44a9c48]
/usr/lib/x86_64-linux-gnu/dri/libdricore.so(_mesa_TexImage2D+0x54)[0x7ffff44aa364]
/home/pitzik4/Dropbox/Pitzik4/cppWorkspaces/glTestWorkspace/Triangle2/bin/model[0x418b1d]
/home/pitzik4/Dropbox/Pitzik4/cppWorkspaces/glTestWorkspace/Triangle2/bin/model[0x419a28]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xed)[0x7ffff6b1d76d]
/home/pitzik4/Dropbox/Pitzik4/cppWorkspaces/glTestWorkspace/Triangle2/bin/model[0x403339]
======= Memory map: ========
00400000-00423000 r-xp 00000000 08:05 4456901                            /home/pitzik4/Dropbox/Pitzik4/cppWorkspaces/glTestWorkspace/Triangle2/bin/model
00622000-00623000 r--p 00022000 08:05 4456901                            /home/pitzik4/Dropbox/Pitzik4/cppWorkspaces/glTestWorkspace/Triangle2/bin/model
00623000-00624000 rw-p 00023000 08:05 4456901                            /home/pitzik4/Dropbox/Pitzik4/cppWorkspaces/glTestWorkspace/Triangle2/bin/model
00624000-00d7e000 rw-p 00000000 00:00 0                                  [heap]
7ffff2efb000-7ffff3841000 rw-p 00000000 00:00 0 
7ffff3841000-7ffff3857000 r-xp 00000000 08:05 1576592                    /lib/x86_64-linux-gnu/libz.so.1.2.3.4
7ffff3857000-7ffff3a56000 ---p 00016000 08:05 1576592                    /lib/x86_64-linux-gnu/libz.so.1.2.3.4
7ffff3a56000-7ffff3a57000 r--p 00015000 08:05 1576592                    /lib/x86_64-linux-gnu/libz.so.1.2.3.4
7ffff3a57000-7ffff3a58000 rw-p 00016000 08:05 1576592                    /lib/x86_64-linux-gnu/libz.so.1.2.3.4
7ffff3a58000-7ffff3a60000 r-xp 00000000 08:05 5120173                    /usr/lib/x86_64-linux-gnu/libpciaccess.so.0.11.0
7ffff3a60000-7ffff3c5f000 ---p 00008000 08:05 5120173                    /usr/lib/x86_64-linux-gnu/libpciaccess.so.0.11.0
7ffff3c5f000-7ffff3c60000 r--p 00007000 08:05 5120173                    /usr/lib/x86_64-linux-gnu/libpciaccess.so.0.11.0
7ffff3c60000-7ffff3c61000 rw-p 00008000 08:05 5120173                    /usr/lib/x86_64-linux-gnu/libpciaccess.so.0.11.0
7ffff3c61000-7ffff3c7d000 r-xp 00000000 08:05 5119862                    /usr/lib/x86_64-linux-gnu/libdrm_intel.so.1.0.0
7ffff3c7d000-7ffff3e7c000 ---p 0001c000 08:05 5119862                    /usr/lib/x86_64-linux-gnu/libdrm_intel.so.1.0.0
7ffff3e7c000-7ffff3e7d000 r--p 0001b000 08:05 5119862                    /usr/lib/x86_64-linux-gnu/libdrm_intel.so.1.0.0
7ffff3e7d000-7ffff3e7e000 rw-p 0001c000 08:05 5119862                    /usr/lib/x86_64-linux-gnu/libdrm_intel.so.1.0.0
7ffff3e7e000-7ffff3ea5000 r-xp 00000000 08:05 1576499                    /lib/x86_64-linux-gnu/libexpat.so.1.5.2
7ffff3ea5000-7ffff40a5000 ---p 00027000 08:05 1576499                    /lib/x86_64-linux-gnu/libexpat.so.1.5.2
7ffff40a5000-7ffff40a7000 r--p 00027000 08:05 1576499                    /lib/x86_64-linux-gnu/libexpat.so.1.5.2
7ffff40a7000-7ffff40a8000 rw-p 00029000 08:05 1576499                    /lib/x86_64-linux-gnu/libexpat.so.1.5.2
7ffff40a8000-7ffff41ce000 r-xp 00000000 08:05 1569                       /usr/lib/x86_64-linux-gnu/dri/libglsl.so
7ffff41ce000-7ffff43cd000 ---p 00126000 08:05 1569                       /usr/lib/x86_64-linux-gnu/dri/libglsl.so
7ffff43cd000-7ffff43d6000 r--p 00125000 08:05 1569                       /usr/lib/x86_64-linux-gnu/dri/libglsl.so
7ffff43d6000-7ffff43d9000 rw-p 0012e000 08:05 1569                       /usr/lib/x86_64-linux-gnu/dri/libglsl.so
7ffff43d9000-7ffff43da000 rw-p 00000000 00:00 0 
7ffff43da000-7ffff4618000 r-xp 00000000 08:05 1570                       /usr/lib/x86_64-linux-gnu/dri/libdricore.so
7ffff4618000-7ffff4818000 ---p 0023e000 08:05 1570                       /usr/lib/x86_64-linux-gnu/dri/libdricore.so
7ffff4818000-7ffff4822000 r--p 0023e000 08:05 1570                       /usr/lib/x86_64-linux-gnu/dri/libdricore.so
7ffff4822000-7ffff4825000 rw-p 00248000 08:05 1570                       /usr/lib/x86_64-linux-gnu/dri/libdricore.so
7ffff4825000-7ffff483b000 rw-p 00000000 00:00 0 
7ffff483b000-7ffff4909000 r-xp 00000000 08:05 1334                       /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
7ffff4909000-7ffff4b09000 ---p 000ce000 08:05 1334                       /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
7ffff4b09000-7ffff4b0c000 r--p 000ce000 08:05 1334                       /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
7ffff4b0c000-7ffff4b10000 rw-p 000d1000 08:05 1334                       /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
7ffff4b10000-7ffff4b17000 r-xp 00000000 08:05 1576567                    /lib/x86_64-linux-gnu/librt-2.15.so
7ffff4b17000-7ffff4d16000 ---p 00007000 08:05 1576567                    /lib/x86_64-linux-gnu/librt-2.15.so
7ffff4d16000-7ffff4d17000 r--p 00006000 08:05 1576567                    /lib/x86_64-linux-gnu/librt-2.15.so
7ffff4d17000-7ffff4d18000 rw-p 00007000 08:05 1576567                    /lib/x86_64-linux-gnu/librt-2.15.so
7ffff4d18000-7ffff4d1d000 r-xp 00000000 08:05 5119694                    /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0
7ffff4d1d000-7ffff4f1c000 ---p 00005000 08:05 5119694                    /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0
7ffff4f1c000-7ffff4f1d000 r--p 00004000 08:05 5119694                    /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0
7ffff4f1d000-7ffff4f1e000 rw-p 00005000 08:05 5119694                    /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0
7ffff4f1e000-7ffff4f20000 r-xp 00000000 08:05 5119681                    /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0
7ffff4f20000-7ffff511f000 ---p 00002000 08:05 5119681                    /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0
7ffff511f000-7ffff5120000 r--p 00001000 08:05 5119681                    /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0
7ffff5120000-7ffff5121000 rw-p 00002000 08:05 5119681                    /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0
7ffff5121000-7ffff5123000 r-xp 00000000 08:05 1576494                    /lib/x86_64-linux-gnu/libdl-2.15.so
7ffff5123000-7ffff5323000 ---p 00002000 08:05 1576494                    /lib/x86_64-linux-gnu/libdl-2.15.so
7ffff5323000-7ffff5324000 r--p 00002000 08:05 1576494                    /lib/x86_64-linux-gnu/libdl-2.15.so
7ffff5324000-7ffff5325000 rw-p 00003000 08:05 1576494                    /lib/x86_64-linux-gnu/libdl-2.15.so
7ffff5325000-7ffff532f000 r-xp 00000000 08:05 5119860                    /usr/lib/x86_64-linux-gnu/libdrm.so.2.4.0
7ffff532f000-7ffff552e000 ---p 0000a000 08:05 5119860                    /usr/lib/x86_64-linux-gnu/libdrm.so.2.4.0
7ffff552e000-7ffff552f000 r--p 00009000 08:05 5119860                    /usr/lib/x86_64-linux-gnu/libdrm.so.2.4.0
7ffff552f000-7ffff5530000 rw-p 0000a000 08:05 5119860                    /usr/lib/x86_64-linux-gnu/libdrm.so.2.4.0
7ffff5530000-7ffff5534000 r-xp 00000000 08:05 5119726                    /usr/lib/x86_64-linux-gnu/libXxf86vm.so.1.0.0
7ffff5534000-7ffff5733000 ---p 00004000 08:05 5119726                    /usr/lib/x86_64-linux-gnu/libXxf86vm.so.1.0.0
7ffff5733000-7ffff5734000 r--p 00003000 08:05 5119726                    /usr/lib/x86_64-linux-gnu/libXxf86vm.so.1.0.0
7ffff5734000-7ffff5735000 rw-p 00004000 08:05 5119726                    /usr/lib/x86_64-linux-gnu/libXxf86vm.so.1.0.0
7ffff5735000-7ffff5752000 r-xp 00000000 08:05 5120366                    /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0
7ffff5752000-7ffff5951000 ---p 0001d000 08:05 5120366                    /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0
7ffff5951000-7ffff5952000 r--p 0001c000 08:05 5120366                    /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0
7ffff5952000-7ffff5953000 rw-p 0001d000 08:05 5120366                    /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0
7ffff5953000-7ffff5968000 r-xp 00000000 08:05 5120350                    /usr/lib/x86_64-linux-gnu/libxcb-glx.so.0.0.0
7ffff5968000-7ffff5b67000 ---p 00015000 08:05 5120350                    /usr/lib/x86_64-linux-gnu/libxcb-glx.so.0.0.0
7ffff5b67000-7ffff5b69000 r--p 00014000 08:05 5120350                    /usr/lib/x86_64-linux-gnu/libxcb-glx.so.0.0.0
7ffff5b69000-7ffff5b6a000 rw-p 00016000 08:05 5120350                    /usr/lib/x86_64-linux-gnu/libxcb-glx.so.0.0.0
7ffff5b6a000-7ffff5b6b000 r-xp 00000000 08:05 5119673                    /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1.0.0
7ffff5b6b000-7ffff5d6a000 ---p 00001000 08:05 5119673                    /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1.0.0
7ffff5d6a000-7ffff5d6b000 r--p 00000000 08:05 5119673                    /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1.0.0
7ffff5d6b000-7ffff5d6c000 rw-p 00001000 08:05 5119673                    /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1.0.0
7ffff5d6c000-7ffff5d71000 r-xp 00000000 08:05 5119698                    /usr/lib/x86_64-linux-gnu/libXfixes.so.3.1.0
7ffff5d71000-7ffff5f70000 ---p 00005000 08:05 5119698                    /usr/lib/x86_64-linux-gnu/libXfixes.so.3.1.0
7ffff5f70000-7ffff5f71000 r--p 00004000 08:05 5119698                    /usr/lib/x86_64-linux-gnu/libXfixes.so.3.1.0
7ffff5f71000-7ffff5f72000 rw-p 00005000 08:05 5119698                    /usr/lib/x86_64-linux-gnu/libXfixes.so.3.1.0
7ffff5f72000-7ffff5f74000 r-xp 00000000 08:05 5119690                    /usr/lib/x86_64-linux-gnu/libXdamage.so.1.1.0
7ffff5f74000-7ffff6173000 ---p 00002000 08:05 5119690                    /usr/lib/x86_64-linux-gnu/libXdamage.so.1.1.0
7ffff6173000-7ffff6174000 r--p 00001000 08:05 5119690                    /usr/lib/x86_64-linux-gnu/libXdamage.so.1.1.0
7ffff6174000-7ffff6175000 rw-p 00002000 08:05 5119690                    /usr/lib/x86_64-linux-gnu/libXdamage.so.1.1.0
7ffff6175000-7ffff6185000 r-xp 00000000 08:05 5119696                    /usr/lib/x86_64-linux-gnu/libXext.so.6.4.0
7ffff6185000-7ffff6384000 ---p 00010000 08:05 5119696                    /usr/lib/x86_64-linux-gnu/libXext.so.6.4.0
7ffff6384000-7ffff6385000 r--p 0000f000 08:05 5119696                    /usr/lib/x86_64-linux-gnu/libXext.so.6.4.0
7ffff6385000-7ffff6386000 rw-p 00010000 08:05 5119696                    /usr/lib/x86_64-linux-gnu/libXext.so.6.4.0
7ffff6386000-7ffff63a7000 r-xp 00000000 08:05 5126526                    /usr/lib/x86_64-linux-gnu/libglapi.so.0.0.0
7ffff63a7000-7ffff65a6000 ---p 00021000 08:05 5126526                    /usr/lib/x86_64-linux-gnu/libglapi.so.0.0.0
7ffff65a6000-7ffff65a9000 r--p 00020000 08:05 5126526                    /usr/lib/x86_64-linux-gnu/libglapi.so.0.0.0
7ffff65a9000-7ffff65aa000 rw-p 00023000 08:05 5126526                    /usr/lib/x86_64-linux-gnu/libglapi.so.0.0.0
7ffff65aa000-7ffff65ab000 rw-p 00000000 00:00 0 
7ffff65ab000-7ffff66da000 r-xp 00000000 08:05 5119677                    /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0
7ffff66da000-7ffff68da000 ---p 0012f000 08:05 5119677                    /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0
7ffff68da000-7ffff68db000 r--p 0012f000 08:05 5119677                    /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0
7ffff68db000-7ffff68df000 rw-p 00130000 08:05 5119677                    /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0
7ffff68df000-7ffff68f7000 r-xp 00000000 08:05 1576561                    /lib/x86_64-linux-gnu/libpthread-2.15.so
7ffff68f7000-7ffff6af6000 ---p 00018000 08:05 1576561                    /lib/x86_64-linux-gnu/libpthread-2.15.so
7ffff6af6000-7ffff6af7000 r--p 00017000 08:05 1576561                    /lib/x86_64-linux-gnu/libpthread-2.15.so
7ffff6af7000-7ffff6af8000 rw-p 00018000 08:05 1576561                    /lib/x86_64-linux-gnu/libpthread-2.15.so
7ffff6af8000-7ffff6afc000 rw-p 00000000 00:00 0 
7ffff6afc000-7ffff6caf000 r-xp 00000000 08:05 1576481                    /lib/x86_64-linux-gnu/libc-2.15.so
7ffff6caf000-7ffff6eae000 ---p 001b3000 08:05 1576481                    /lib/x86_64-linux-gnu/libc-2.15.so
7ffff6eae000-7ffff6eb2000 r--p 001b2000 08:05 1576481                    /lib/x86_64-linux-gnu/libc-2.15.so
7ffff6eb2000-7ffff6eb4000 rw-p 001b6000 08:05 1576481                    /lib/x86_64-linux-gnu/libc-2.15.so
7ffff6eb4000-7ffff6eb9000 rw-p 00000000 00:00 0 
7ffff6eb9000-7ffff6ece000 r-xp 00000000 08:05 1576502                    /lib/x86_64-linux-gnu/libgcc_s.so.1
7ffff6ece000-7ffff70cd000 ---p 00015000 08:05 1576502                    /lib/x86_64-linux-gnu/libgcc_s.so.1
7ffff70cd000-7ffff70ce000 r--p 00014000 08:05 1576502                    /lib/x86_64-linux-gnu/libgcc_s.so.1
7ffff70ce000-7ffff70cf000 rw-p 00015000 08:05 1576502                    /lib/x86_64-linux-gnu/libgcc_s.so.1
7ffff70cf000-7ffff71c8000 r-xp 00000000 08:05 1576513                    /lib/x86_64-linux-gnu/libm-2.15.so
7ffff71c8000-7ffff73c7000 ---p 000f9000 08:05 1576513                    /lib/x86_64-linux-gnu/libm-2.15.so
7ffff73c7000-7ffff73c8000 r--p 000f8000 08:05 1576513                    /lib/x86_64-linux-gnu/libm-2.15.so
7ffff73c8000-7ffff73c9000 rw-p 000f9000 08:05 1576513                    /lib/x86_64-linux-gnu/libm-2.15.so
7ffff73c9000-7ffff74ab000 r-xp 00000000 08:05 5120266                    /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.16
7ffff74ab000-7ffff76aa000 ---p 000e2000 08:05 5120266                    /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.16
7ffff76aa000-7ffff76b2000 r--p 000e1000 08:05 5120266                    /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.16
7ffff76b2000-7ffff76b4000 rw-p 000e9000 08:05 5120266                    /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.16
7ffff76b4000-7ffff76c9000 rw-p 00000000 00:00 0 
7ffff76c9000-7ffff7726000 r-xp 00000000 08:05 2898                       /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1.2
7ffff7726000-7ffff7925000 ---p 0005d000 08:05 2898                       /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1.2
7ffff7925000-7ffff7927000 r--p 0005c000 08:05 2898                       /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1.2
7ffff7927000-7ffff7928000 rw-p 0005e000 08:05 2898                       /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1.2
7ffff7928000-7ffff7929000 rw-p 00000000 00:00 0 
7ffff7929000-7ffff798a000 r-xp 00000000 08:05 5119616                    /usr/lib/x86_64-linux-gnu/libGLEW.so.1.6.0
7ffff798a000-7ffff7b89000 ---p 00061000 08:05 5119616                    /usr/lib/x86_64-linux-gnu/libGLEW.so.1.6.0
7ffff7b89000-7ffff7b8f000 r--p 00060000 08:05 5119616                    /usr/lib/x86_64-linux-gnu/libGLEW.so.1.6.0
7ffff7b8f000-7ffff7b90000 rw-p 00066000 08:05 5119616                    /usr/lib/x86_64-linux-gnu/libGLEW.so.1.6.0
7ffff7b90000-7ffff7b94000 rw-p 00000000 00:00 0 
Program received signal SIGABRT, Aborted.
0x00007ffff6b32445 in raise () from /lib/x86_64-linux-gnu/libc.so.6
(gdb) bt
#0  0x00007ffff6b32445 in raise () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007ffff6b35bab in abort () from /lib/x86_64-linux-gnu/libc.so.6
#2  0x00007ffff6b6fe2e in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#3  0x00007ffff6b7a626 in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#4  0x00007ffff4537bb5 in _mesa_symbol_table_dtor ()
   from /usr/lib/x86_64-linux-gnu/dri/libdricore.so
#5  0x00007ffff41024dd in glsl_symbol_table::~glsl_symbol_table() ()
   from /usr/lib/x86_64-linux-gnu/dri/libglsl.so
#6  0x00007ffff4112306 in cross_validate_globals(gl_shader_program*, gl_shader**, unsigned int, bool) () from /usr/lib/x86_64-linux-gnu/dri/libglsl.so
#7  0x00007ffff4113e40 in link_shaders(gl_context*, gl_shader_program*) ()
   from /usr/lib/x86_64-linux-gnu/dri/libglsl.so
#8  0x00007ffff459e21b in _mesa_glsl_link_shader ()
   from /usr/lib/x86_64-linux-gnu/dri/libdricore.so
#9  0x00007ffff4592c39 in _mesa_get_fixed_func_fragment_program ()
   from /usr/lib/x86_64-linux-gnu/dri/libdricore.so
#10 0x00007ffff44978e2 in _mesa_update_state_locked ()
   from /usr/lib/x86_64-linux-gnu/dri/libdricore.so
#11 0x00007ffff4497d51 in _mesa_update_state ()
   from /usr/lib/x86_64-linux-gnu/dri/libdricore.so
#12 0x00007ffff44a9c48 in ?? ()
   from /usr/lib/x86_64-linux-gnu/dri/libdricore.so
#13 0x00007ffff44aa364 in _mesa_TexImage2D ()
---Type <return> to continue, or q <return> to quit---
   from /usr/lib/x86_64-linux-gnu/dri/libdricore.so
#14 0x0000000000418b1d in initResources () at src/model.cpp:126
#15 0x0000000000419a28 in main (argc=1, args=0x7fffffffe7e8)
    at src/model.cpp:350

我正在使用 make 使用 g++ -g 进行编译。我正在运行 64 位 Linux Mint。

这就是我能想到的所有潜在有用的信息。如果我没有在此处提供足够的信息来找到此问题的解决方案,只需添加评论,我将使用信息进行编辑。

所以......我能做些什么来解决这个问题?我一直在间歇性地搜索它并尝试修复它几个小时,但无济于事。

4

0 回答 0