使用 qt 和 opengl 编译 c++ 项目时找不到标识符错误
Posted
技术标签:
【中文标题】使用 qt 和 opengl 编译 c++ 项目时找不到标识符错误【英文标题】:Identifier not found error when compiling a c++ project with qt and opengl 【发布时间】:2013-03-12 14:30:04 【问题描述】:我正在尝试编译一个使用 QT 和 opengl 的 C++ 程序。
当我尝试编译它时,我收到了这个错误:
Error 1 error C3861: 'gluErrorString': identifier not found
寻找这个标识符,告诉我它定义在:glu.h 文件的第 64 行,它是 VS 2012 安装的一部分。
为什么会出现此错误?
我知道源代码是使用VS 2010开发的,但我认为如果我使用VS 2012应该没有任何区别。
我应该对项目设置进行任何更改吗?
【问题讨论】:
@Jaochim - 这不是问题,因为这是编译器错误而不是链接器错误 【参考方案1】:首先检查您是否有该行:
#include <glu.h>
某处。
未能打开 glu.h
并确保没有阻止包含该行的 #define
s。您可能需要为您的项目添加额外的定义。
有时只运行预处理器(不确定如何在 VS 中执行此操作)并确保符号最终出现在您的 cpp 文件中会很有用。
【讨论】:
在 VS 中,您可以打开源文件的属性(通常通过在解决方案视图中右键单击它),转到C/C++ > Preprocessor > Generate preprocessed file
。
@Angew 生成的文件保存在哪里?
@mans 我相信它通常在源文件旁边。它的扩展名是.i
【参考方案2】:
添加头文件 glu.h 后,您可能还会收到未解析符号 gluErrorString 的链接错误。您可以通过在项目设置的输入库中添加 glu32.lib 库来解决此问题。
【讨论】:
以上是关于使用 qt 和 opengl 编译 c++ 项目时找不到标识符错误的主要内容,如果未能解决你的问题,请参考以下文章