最近要写一些OpenGL的测试Demo,下载Freeglut并配置好开发环境之后,在Debug模式下一直编译报错:无法打开文件“freeglutd.lib”
由于我下载的Freeglut(3.0版本)在编译之后生成的链接库Debug和Release的名称都是freeglut.lib,因此配置在Debug模式下的lib库是freeglut.lib。在看到这个报错之后,检查了所有工程的链接库配置,根本就找不到这个输入的lib,因此猜测可能是freeglut库在源码中添加了VS的链接库,应该是使用#pragma comment (lib, "xxx.lib")这样的语法。翻看源码之后,果然发现下面的代码:
/* Link with Win32 shared freeglut lib */
# if FREEGLUT_LIB_PRAGMAS
# ifdef NDEBUG
# pragma comment (lib, "freeglut.lib")
# else
# pragma comment (lib, "freeglutd.lib")
# endif
# endif
解决方式:在Debug环境的工程配置中,添加宏定义NDEBUG
或者直接在main.cpp文件中添加一行
#define NDEBUG
本文介绍了解决在Debug模式下使用Freeglut 3.0版本编译时出现的“无法打开文件freeglutd.lib”错误的方法。通过在工程配置中添加宏定义NDEBUG或在main.cpp文件中添加预处理指令#define NDEBUG即可解决此问题。

2570

被折叠的 条评论
为什么被折叠?



