Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. Chinese
  4. 怎样编译一个文件
Forum Update on Monday, May 27th 2025

怎样编译一个文件

Scheduled Pinned Locked Moved Solved Chinese
3 Posts 3 Posters 2.2k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • neemeN Offline
    neemeN Offline
    neeme
    wrote on last edited by
    #1

    大家好:
    我有一个文件 main.c . 在终端用 gcc main.c -lGL -lGLU -lglut 成功!
    我的电脑装了qt5.7.1(qtcreator 4.2.0) . 请问应该生成一个什么类弄的项目?
    然后添加这文件,编译的参数怎样设置呢?谢谢!

    #include <GL/glut.h>

    void myinit();
    void display();

    int main(int argc, char **argv)
    {
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
    glutInitWindowSize(500,500);
    glutInitWindowPosition(0,0);
    glutCreateWindow("simple OpenGL example");
    glutDisplayFunc(display);
    myinit();
    glutMainLoop();
    }

    void myinit()
    {
    glClearColor(0.0,0.0,0.0,1.0);
    glColor3f(0.0,1.0,0.0);

    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    gluOrtho2D(0.0, 50.0, 0.0, 50.0);
    glMatrixMode(GL_MODELVIEW);
    

    }

    void display()
    {
    GLfloat vertices[3][2] = {{0.0,0.0},{25.0,50.0},{50.0,0.0}};
    int j,k;
    int rand();
    GLfloat p[2] = {7.5, 5.0};
    glClear(GL_COLOR_BUFFER_BIT);
    glBegin(GL_POINTS);
    for(k=0;k<900000;k++)
    {
    j=rand()%3;
    p[0] = (p[0]+vertices[j][0]) / 2.0;
    p[1] = (p[1]+vertices[j][1]) / 2.0;
    glVertex2fv(p);
    }

    glEnd();
    glFlush();
    

    }

    FlotisableF 1 Reply Last reply
    0
    • neemeN neeme

      大家好:
      我有一个文件 main.c . 在终端用 gcc main.c -lGL -lGLU -lglut 成功!
      我的电脑装了qt5.7.1(qtcreator 4.2.0) . 请问应该生成一个什么类弄的项目?
      然后添加这文件,编译的参数怎样设置呢?谢谢!

      #include <GL/glut.h>

      void myinit();
      void display();

      int main(int argc, char **argv)
      {
      glutInit(&argc, argv);
      glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
      glutInitWindowSize(500,500);
      glutInitWindowPosition(0,0);
      glutCreateWindow("simple OpenGL example");
      glutDisplayFunc(display);
      myinit();
      glutMainLoop();
      }

      void myinit()
      {
      glClearColor(0.0,0.0,0.0,1.0);
      glColor3f(0.0,1.0,0.0);

      glMatrixMode(GL_PROJECTION);
      glLoadIdentity();
      gluOrtho2D(0.0, 50.0, 0.0, 50.0);
      glMatrixMode(GL_MODELVIEW);
      

      }

      void display()
      {
      GLfloat vertices[3][2] = {{0.0,0.0},{25.0,50.0},{50.0,0.0}};
      int j,k;
      int rand();
      GLfloat p[2] = {7.5, 5.0};
      glClear(GL_COLOR_BUFFER_BIT);
      glBegin(GL_POINTS);
      for(k=0;k<900000;k++)
      {
      j=rand()%3;
      p[0] = (p[0]+vertices[j][0]) / 2.0;
      p[1] = (p[1]+vertices[j][1]) / 2.0;
      glVertex2fv(p);
      }

      glEnd();
      glFlush();
      

      }

      FlotisableF Offline
      FlotisableF Offline
      Flotisable
      wrote on last edited by
      #2

      @neeme
      看你的原始碼是沒有用到Qt的東西,這樣的話在建專案的時候應該是選Non-Qt Project

      你原始碼應該是C,那就選Plain C Application
      至於編譯參數,預設應該是用qmake設定,建好專案後會有.pro的檔案,只要編輯這份檔案就可以設定編譯參數

      如果看得懂英文可以看這份文件qmake文件

      看不懂的話,你在命令中有設定引入的資料夾,在.pro應該加上這行就可以了

      INCLUDEPATH += // 你的引入路徑
      1 Reply Last reply
      0
      • jiancaiyangJ Offline
        jiancaiyangJ Offline
        jiancaiyang
        wrote on last edited by
        #3

        使用Qt的话,那么抛弃glut吧。glu也可以抛弃的。因为最常用的gluPerspective()都可以使用QMatrix4x4::perspective()函数替代了。

        我们自己的论坛:http://qtdream.com
        擅长三维角色仿真动画。

        1 Reply Last reply
        0

        • Login

        • Login or register to search.
        • First post
          Last post
        0
        • Categories
        • Recent
        • Tags
        • Popular
        • Users
        • Groups
        • Search
        • Get Qt Extensions
        • Unsolved