警告:def 文件末尾的 .drectve 已损坏

问题描述 投票:0回答:4

我在 eclipse cdt(c++) 中使用 gcc/mingw 安装了 glew、glfw 和 glm,全部都是静态的。 一切正常,但我不喜欢 eclipse 输出控制台中的警告:

警告:def 文件末尾的 .drectve 已损坏

如何修复和隐藏此警告? 是什么意思?

我注意到,只有当我调用“glewInit”函数时,才会出现此警告。

opengl eclipse-cdt glfw glew
4个回答
11
投票

当我遇到这个问题时,是因为我链接了不兼容的 MSVC 库。 keltar 的评论帮助我解决了这个问题。

SDL 2.0:链接错误


9
投票

留言

警告:def 文件末尾的 .drectve 已损坏

也可能意味着该项目是使用 MinGW 构建的,但它使用的库是为 Visual Studio 创建的。

MinGW 和 Visual Studio 版本不可互换。


1
投票

我在 CLion for MinGW 工具链中遇到此错误,但当我切换到 VisualStudio 工具链时,它消失了。


0
投票

对我来说,出现此错误的原因是:

我正在使用 mingw g++ 构建我的项目 但我正在用 Visual Studio 构建图书馆

不同的编译器使用不同的.lib、.a等文件

所以我的解决方案:

  1. 我使用 cmake 为 MSys2 Makefiles 生成了 glfw 文件(我通过 msys2 安装了 make)
  2. 通过进入包含生成文件的文件夹并运行来构建它
    make
  3. 将“libglfw3.a”重命名为“glfw3.lib”并将其移动到我的库目录

然后在 g++ 中使用标志

-L"{folder that glfw3.lib is in}" -lglfw3
它编译得很好

© www.soinside.com 2019 - 2024. All rights reserved.