opengl程序在别人电脑上vs上运行没问题,在我电脑上就一直报连接错误,觉得是glew配置问题。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了opengl程序在别人电脑上vs上运行没问题,在我电脑上就一直报连接错误,觉得是glew配置问题。相关的知识,希望对你有一定的参考价值。

opengl程序在别人电脑上vs上运行没问题,在我电脑上就一直报连接错误,觉得是glew配置问题,可是已经试过好次了,相应的配件也放进目录下了,也换过版本,究竟什么问题呢?

一直报这个错,有点多。
1>main.obj : error LNK2019: 无法解析的外部符号 __imp__glewInit@0,该符号在函数 "void __cdecl init_FBO(void)" (?init_FBO@@YAXXZ) 中被引用
1>main.obj : error LNK2019: 无法解析的外部符号 "public: bool __thiscall C3DS::Init(char *)" (?Init@C3DS@@QAE_NPAD@Z),该符号在函数 "void __cdecl init(void)" (?init@@YAXXZ) 中被引用
1>main.obj : error LNK2019: 无法解析的外部符号 "public: void __thiscall Sky::initSkyColor(void)" (?initSkyColor@Sky@@QAEXXZ),该符号在函数 "void __cdecl init(void)" (?init@@YAXXZ) 中被引用
1>main.obj : error LNK2019: 无法解析的外部符号 "public: void __thiscall Sky::initSky(float,float,float)" (?initSky@Sky@@QAEXMMM@Z),该符号在函数 "void __cdecl init(void)" (?init@@YAXXZ) 中被引用
1>main.obj : error LNK2019: 无法解析的外部符号 "public: void __thiscall Sky::renderSkyDome(void)" (?renderSkyDome@Sky@@QAEXXZ),该符号在函数 "void __cdecl renderSky(void)" (?renderSky@@YAXXZ) 中被引用
1>main.obj : error LNK2019: 无法解析的外部符号 "public: void __thiscall C3DS::Draw(void)" (?Draw@C3DS@@QAEXXZ),该符号在函数 "void __cdecl drawFishes(void)" (?drawFishes@@YAXXZ) 中被引用
1>main.obj : error LNK2019: 无法解析的外部符号 "public: __thiscall Sky::Sky(void)" (??0Sky@@QAE@XZ),该符号在函数 "void __cdecl `dynamic initializer for 'g_sky''(void)" (??__Eg_sky@@YAXXZ) 中被引用
1>main.obj : error LNK2019: 无法解析的外部符号 "public: __thiscall C3DS::C3DS(void)" (??0C3DS@@QAE@XZ),该符号在函数 "void __cdecl `dynamic initializer for 'fish''(void)" (??__Efish@@YAXXZ) 中被引用
1>main.obj : error LNK2019: 无法解析的外部符号 "public: virtual __thiscall C3DS::~C3DS(void)" (??1C3DS@@UAE@XZ),该符号在函数 "void __cdecl `dynamic initializer for 'fish''(void)" (??__Efish@@YAXXZ) 中被引用
1>main.obj : error LNK2019: 无法解析的外部符号 "public: __thiscall Sky::~Sky(void)" (??1Sky@@QAE@XZ),该符号在函数 "void __cdecl `dynamic atexit destructor for 'g_sky''(void)" (??__Fg_sky@@YAXXZ) 中被引用
1>.\Debug\simpleGL.exe : fatal error LNK1120: 10 个无法解析的外部命令
1>
1>生成失败。
1>
1>已用时间 00:00:05.48
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========
刚换了个glew的版本,第一条错误没有了,剩下的是什么原因呢?

参考技术A “无法解析的外部符号”就是函数有声明,没定义,也就是.h文件正确,但是cpp文件缺失或者缺少对应函数。
看你报错的都是C3DS和Sky这两个类的函数,你仔细看看类的文件是否存放正确了,然后用
ctrl+alt+F7 rebiuld一次试试。

为啥生成的exe文件在别人的电脑上无法运行

你这个EXE是在什么环境下编译生成的?
如果不自带运行库,那么别人的电脑当中没有这个编译环境的话,当然无法运行。
参考技术A 首先要有vb运行库:c:\windows\system32\msvbvm60.dll,还有你用到的控件,把这些和程序放在一起就可以了。

以上是关于opengl程序在别人电脑上vs上运行没问题,在我电脑上就一直报连接错误,觉得是glew配置问题。的主要内容,如果未能解决你的问题,请参考以下文章

写了一个C#winform程序,在我的电脑上运行没有问题,但是在别人的电脑运行一次就自动关闭了

OpenGL 无法在 Windows 8 上渲染

没安装python的电脑可以运行python写的程序吗

C# VS2010 有些程序切到Form视图设计器程序就卡死了(没运行) 为啥??

vs2017运行不起来.net web程序,包不兼容

blend做的wpf程序有问题