游戏开发论坛

 找回密码
 立即注册
搜索
查看: 20548|回复: 23

用win32控制台应用程序写的opengl初始程序,编译时出现:e

[复制链接]

7

主题

27

帖子

27

积分

注册会员

Rank: 2

积分
27
QQ
发表于 2007-1-9 10:19:00 | 显示全部楼层 |阅读模式
小妹是opengl菜鸟,还旺各位大虾相助。我qq:68754994

编译结果:
OpenGL1.obj : error LNK2019: 无法解析的外部符号 __imp____glutInitWithExit@12,该符号在函数 _glutInit_ATEXIT_HACK@8 中被引用
OpenGL1.obj : error LNK2019: 无法解析的外部符号 __imp____glutCreateWindowWithExit@8,该符号在函数 _glutCreateWindow_ATEXIT_HACK@4 中被引用
F:\tt\OpenGL\OpenGL1\OpenGL1\Debug\OpenGL1.exe : fatal error LNK1120: 2 个无法解析的外部命令

发现是两个原代码中两个函数引起的
glutInit(&argc,argv);  glut中仿佛没有这个函数
glutCreateWindow("the name of window");
是因为这两个函数引起的,不知道为什么。


原代码:就是新建一个窗口,显示一个线段的程序。]

#include "stdafx.h"
#include <windows.h>
#include <Gl/glut.h>

void init (void)
{
        //set display-window color to white.
        glClearColor (1.0,1.0,1.0,0.0);

        glMatrixMode(GL_PROJECTION);

        gluOrtho2D(0.0,200.0,0.0,150.0);
}

void lineSegment(void)
{
        //create display-window.
        glClear(GL_COLOR_BUFFER_BIT);

        //set line segment color to red.
        glColor3f(1.0,0.0,0.0);

        glBegin(GL_LINES);
        glVertex2i(180,15);
        glVertex2i(10,145);
        glEnd();

        //Process all OpenGL routines as quickly as possible
        glFlush();

}

void main (int argc, char** argv)
{
        //Initialize Glut.
        glutInit(&argc,argv);
        //set display mode.
        glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);

        //set top-left display-windows position.
        glutInitWindowPosition(50,100);

        //set display-window width and height
        glutInitWindowSize(400,300);

        //creat display-window.
        glutCreateWindow("An Example OpenGL Program by TingTing");

        init();
        //send graphics to display window.
        glutDisplayFunc(lineSegment);

        //display everything and wait.
        glutMainLoop();
}

[em4]求助

180

主题

3511

帖子

3520

积分

论坛元老

Rank: 8Rank: 8

积分
3520
发表于 2007-1-9 10:31:00 | 显示全部楼层

Re:用win32控制台应用程序写的opengl初始程序,编译时出现

《无法解析的外部符号 __imp____glutInitWithExit@12》
说明你没有 glut库。

建议你不要使用 glut ,直接用 gl, glu,aux

推荐你一个学习 OpenGL的教材:
nehe.gamedev.net

7

主题

27

帖子

27

积分

注册会员

Rank: 2

积分
27
QQ
 楼主| 发表于 2007-1-9 10:32:00 | 显示全部楼层

Re: Re:用win32控制台应用程序写的opengl初始程序,编译时出

snhun: Re:用win32控制台应用程序写的opengl初始程序,编译时出现:error LNK2019: 无法解析的外部符号

《无法解析的外部符号 __imp____glutInitWithExit@12》
说明你没有 glut库。

建议你不要使用 glut ,直接用 gl, glu,aux


glut库我已经在网上下载安装了的。
而且如果不用glut,编译的时候就识别不了程序中用到的函数啊!
郁闷啊!

180

主题

3511

帖子

3520

积分

论坛元老

Rank: 8Rank: 8

积分
3520
发表于 2007-1-9 10:42:00 | 显示全部楼层

Re:用win32控制台应用程序写的opengl初始程序,编译时出现

安装完后 .h 文件要拷贝到VC++的 include 文件夹里, .lib 文件要拷贝到 lib文件夹里.
OK?

7

主题

27

帖子

27

积分

注册会员

Rank: 2

积分
27
QQ
 楼主| 发表于 2007-1-9 10:49:00 | 显示全部楼层

Re: Re:用win32控制台应用程序写的opengl初始程序,编译时出

snhun: Re:用win32控制台应用程序写的opengl初始程序,编译时出现:error LNK2019: 无法解析的外部符号

安装完后 .h 文件要拷贝到VC++的 include 文件夹里, .lib 文件要拷贝到 lib文件夹里.
OK?


是啊。这些我都作了。。。开发环境为:vc.net 2005
哎!网上说要:
window下只需加载头文件winsock2.h, 但在链接时要加载依赖库:ws2_32.lib ;msvcrtd.lib
project-属性--link--输入--依赖库: 增加ws2_32.lib
我照着以上做法作了,结果,那个问题是没有出现,但出现以下新问题:
LINK : fatal error LNK1104: 无法打开文件“ws2_32.lib;msvcrtd.lib”

真的是不知道怎么办了

180

主题

3511

帖子

3520

积分

论坛元老

Rank: 8Rank: 8

积分
3520
发表于 2007-1-9 12:14:00 | 显示全部楼层

Re:用win32控制台应用程序写的opengl初始程序,编译时出现

window下只需加载头文件winsock2.h ????
那不是网络模块 SOCKET 吗?
LINK : fatal error LNK1104: 无法打开文件“ws2_32.lib;msvcrtd.lib”
说明还是没设置好。
我用的是 VC6.0 的,不是 NET 的。

实在不行,就把你的电脑拿过来把......我帮你弄弄......

180

主题

3511

帖子

3520

积分

论坛元老

Rank: 8Rank: 8

积分
3520
发表于 2007-1-9 12:15:00 | 显示全部楼层

Re:用win32控制台应用程序写的opengl初始程序,编译时出现

XPERTSOFT 应该能解决。
你去找他吧。
(顺便告诉你,这个人很没礼貌,你最好有心理准备,呵呵)

21

主题

230

帖子

230

积分

中级会员

Rank: 3Rank: 3

积分
230
发表于 2007-1-9 15:21:00 | 显示全部楼层

Re:用win32控制台应用程序写的opengl初始程序,编译时出现

好奇怪的问题。

89

主题

4036

帖子

4132

积分

论坛元老

Rank: 8Rank: 8

积分
4132
发表于 2007-1-9 15:42:00 | 显示全部楼层

Re:用win32控制台应用程序写的opengl初始程序,编译时出现

又是一个被IDE毒害的初学者。

#pragma comment(lib, "glut32.lib)
加在代码任何地方都可以。

要弄清楚,库不是你下了就可以了。下来以后你还要让你的compiler能找到它。
一般Compiler依赖两个环境变量:LIB、INCLUDE .你已经设置了INCLUDE了。或者你也已经设置了LIB了。但是你要告诉Compiler需要Link哪些库。比如glut32.lib还是opengl32.lib或者是winsock.lib。 compiler不会那么聪明到知道用了哪些.lib的。
建议你还是去学学用Makefile吧。彻底一些。


TO SNHUM 。 我是见人说人话,见鬼说鬼话。见了说大话的人绝不给好话

89

主题

4036

帖子

4132

积分

论坛元老

Rank: 8Rank: 8

积分
4132
发表于 2007-1-9 15:43:00 | 显示全部楼层

Re:用win32控制台应用程序写的opengl初始程序,编译时出现

PS: 而且你10次给别人回答的问题有9次是错误的。
如果我是你,我就会少回答一些。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-8 19:24

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表