使用shared_ptr和glutInit会导致分段错误

时间:2015-11-22 17:00:19

标签: c++ c++11 gcc shared-ptr glut

在我尝试了很多事情之前问过this并发现问题与glutInit有关。请参考以下代码示例: main.cpp中

public static class PlaceholderFragment extends Fragment {

编译:

  

g ++ -std = c ++ 11 -g -Wall -o appx main.cpp -lGL -lGLU -lglut

使用g ++ 5.2.1,ubuntu 15.10

导致可执行文件立即崩溃(没有" Hello!"输出)和segfault

只是评论一下

#include <iostream>
#include <memory>
#include<GL/glut.h>
using namespace std;
int main(int argcp, char **argv)
{
    shared_ptr<double> abc;
    glutInit(&argcp,argv);
    cout<<"Hello!"<<endl;
    return 0;
}

将修复崩溃。

由于我想在项目中使用shared_ptr和glut,我想知道如何修复它或导致崩溃的原因。

编辑1: GDB追踪:

shared_ptr<double> abc;

1 个答案:

答案 0 :(得分:1)

在评论中发布的问题类似于发布的问题here

解决方案是添加:

 -lpthread

到编译器标志! 非常感谢!