【发布时间】:2022-01-14 19:03:12
【问题描述】:
我是 OpenGL 和 Freeglut 的新手,我想为外围图形输出创建一个不是操作系统线程的线程。当我创建第二个线程时,我想传递主命令行参数,以便初始化 freeglut。
我正在使用:
名称:Code::Blocks,版本:20.03-r11997,SDK 版本:2.0.0,Scintilla 版本:3.7.5,编译器名称:GNU GCC 编译器。
操作系统名称:Ubuntu 20.04.3 LTS,操作系统类型:64 位,GNOME 版本:3.36.8,窗口系统:X11。
错误:
静态断言失败:std::thread:参数必须是可调用的 转换为右值后
#include "Thread.h"
#include <thread>
#include <GL/glut.h>
class Thread
{
public:
Thread()
{
}
~Thread()
{
}
static void run_Td_1(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitWindowSize(640,480);
glutInitWindowPosition(10,10);
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("GLUT Shapes");
glutMainLoop();
}
protected:
private:
};
int main(int argc, char *argv[])
{
std::thread td_1(Thread::run_Td_1, &argc, argv);
return EXIT_SUCCESS;
}
如何正确传递参数?
【问题讨论】:
标签: c++ pthreads main glut freeglut