通过我自己的库使用它时无法编译 glew:CodeLite

Can't compile glew when using it via my own library : CodeLite

为了简单起见,我已经删掉了很多我原来的情况;可以在修订中看到。

基本上我一直在学习创建游戏引擎的教程。

大部分代码已分离到自己的 CodeLite 项目中并成功编译成静态库(libbengine.a 通过 TDM-GCC-32 使用 mingw32)。

(备案,分离前编译好的代码)

回到主游戏代码(main.cpp 等),编译器知道相关的 include 和 lib 目录,编译至少可以找到必要的头文件和 lib。

但是,我得到这个错误:undefined reference to '__glewCreateProgram'

关于在翻译中丢失了什么(可以这么说)有什么想法吗?

我一直在到处读书;正在研究编译、静态库,ar.exe,但运气不好(我还在寻找)。

如果您需要更多相关信息,我很乐意提供;现在我不会再堵塞 post 了。

干杯


给出 CodeLite 中错误的基本概念:

主项目链接器设置:

bengine 项目链接器设置(编译为静态 lib.a):

看来问题只出在链接顺序上。从我的问题(主要链接器设置)的第二张图片中可以看出 - "Bengine" 应该位于列表的顶部,而不是底部。

这可能是mingw32特有的;我不确定。

好吧,经过这么多时间,我觉得有点傻... 至少我一路上学到了一些东西。