我在 eclipse cdt(c++) 中使用 gcc/mingw 安装了 glew、glfw 和 glm,全部都是静态的。 一切正常,但我不喜欢 eclipse 输出控制台中的警告:
警告:def 文件末尾的 .drectve 已损坏
如何修复和隐藏此警告? 是什么意思?
我注意到,只有当我调用“glewInit”函数时,才会出现此警告。
当我遇到这个问题时,是因为我链接了不兼容的 MSVC 库。 keltar 的评论帮助我解决了这个问题。
留言
警告:def 文件末尾的 .drectve 已损坏
也可能意味着该项目是使用 MinGW 构建的,但它使用的库是为 Visual Studio 创建的。
MinGW 和 Visual Studio 版本不可互换。
我在 CLion for MinGW 工具链中遇到此错误,但当我切换到 VisualStudio 工具链时,它消失了。
对我来说,出现此错误的原因是:
我正在使用 mingw g++ 构建我的项目 但我正在用 Visual Studio 构建图书馆
不同的编译器使用不同的.lib、.a等文件
所以我的解决方案:
make
然后在 g++ 中使用标志
-L"{folder that glfw3.lib is in}" -lglfw3
它编译得很好