gpt4 book ai didi

c++ - 在 VC++ 中引用静态库

转载 作者:太空宇宙 更新时间:2023-11-04 02:56:05 27 4
gpt4 key购买 nike

我正在尝试静态链接 this库到我的 VS C++ 项目中。首先我将源代码编译为静态库。通过 VS 项目属性将其链接。.exe 项目工作正常。然后我阅读了 this关于如何将静态库编译成可执行文件的 MS 手册,如果我正在运行可执行文件,请按照此处概述的步骤进行操作,我会收到以下错误:

Error   3   error LNK2019: unresolved external symbol __imp__glBlendFunc@8
referenced in function _text_buffer_render E:\Documents\visual studio
2012\Projects\XXXXEngine\FreeTypeTest\text-buffer.obj

Error 4 error LNK2019: unresolved external symbol __imp__glBindTexture@8
referenced in function _text_buffer_render E:\Documents\visual studio
2012\Projects\XXXXEngine\FreeTypeTest\text-buffer.obj

对我来说,这似乎是 GLEW.lib 错误。这是否意味着我还必须静态链接 glew.lib,因为 freetype GL 依赖于它?另外,我是否可以只将 lib 与可执行文件一起使用而不将其添加到引用中,或者它在发布版本中不起作用?我问它是因为我对静态链接应该如何完成感到很困惑。我的意思是,现在可执行文件在不将库添加到项目引用的情况下工作。那么为什么不能像这样使用它呢?

最佳答案

To me it seems like GLEW.lib errors

它们不是,glBindTexture() 是一个 OpenGL 函数。 MSDN 库页面 is here .滚动到底部,它会向您显示声明它的 .h 文件(因为编译器没有提示,您已经是正确的)和您需要链接的 .lib。

右键单击您的项目、属性、链接器、输入、附加依赖项设置。添加 opengl32.lib。或者要使用赞成答案的建议,您可以在源代码中注入(inject)链接器指令:

#include <gl\gl.h>
#pragma comment(lib, "opengl32.lib")

关于c++ - 在 VC++ 中引用静态库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17165851/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com