引用vc++中的静态库
Referencing static library in VC++
我正在尝试静态链接这个库到我的vsc++项目。首先,我将源代码编译为静态库。通过VS项目属性链接。.exe项目工作正常。然后我读了这本关于如何将静态库编译成可执行文件的MS手册,并按照那里列出的步骤进行操作,如果我正在运行可执行文件,我就会得到这些错误:
Error 3 error LNK2019: unresolved external symbol __imp__glBlendFunc@8
referenced in function _text_buffer_render E:Documentsvisual studio
2012ProjectsXXXXEngineFreeTypeTesttext-buffer.obj
Error 4 error LNK2019: unresolved external symbol __imp__glBindTexture@8
referenced in function _text_buffer_render E:Documentsvisual studio
2012ProjectsXXXXEngineFreeTypeTesttext-buffer.obj
对我来说,它似乎是GLEW。自由的错误。这是否意味着我必须链接也发光。lib静态的自由类型GL取决于它?此外,我可以只使用库与可执行文件而不将其添加到引用,或者它不会在发布构建?我问它,因为我很困惑静态链接应该如何做。我的意思是,现在可执行文件无需将库添加到项目参考中即可工作。那为什么不能这样用呢?
对我来说,它似乎是GLEW。自由错误
它们不是,glBindTexture()是一个OpenGL函数。MSDN库页面在这里。滚动到底部,它显示了声明它的.h文件(您已经正确了,因为编译器没有抱怨)和您需要链接的.lib。
右键单击您的项目,属性,链接器,输入,附加依赖项设置。添加opengl32.lib。或者使用upvoted答案的建议,你可以在你的源代码中注入链接器指令:
#include <glgl.h>
#pragma comment(lib, "opengl32.lib")
您是否尝试对库进行pragma标记?像这样:#pragma comment(lib, "any.lib");
相关文章:
- 如果C++类在类方法中具有动态分配,但没有构造函数/析构函数或任何非静态成员,那么它仍然是POD类型吗
- #为""定义宏;静态";针对不同的上下文
- VC++6 线程安全静态初始化
- 如何在Windows表单应用程序vc ++中导入C静态库
- VC++链接器删除静态库的间接依赖项
- 如何将我在VC++9中开发的带有CLR支持静态库的C++/CLI(托管)链接到我在VC++6.0中的本机代码(应用程序)
- VC++ 警告 C4356:无法通过派生类初始化静态数据成员
- VC++错误:数组实例化的大小来自模板化的静态常量
- 在 VC++ 2010 中使用个人静态库
- 为什么 VC++ 2013 不支持承诺的非静态数据成员初始值设定项
- VC++ 在使用没有代码的静态库时是否会添加对 LoadLibrary 的调用?
- 如何将多个静态链接库合并到一个dll中,给定每个静态库定义导出的功能(vc++2008)
- 如何在VC++静态库中加载自定义二进制资源作为dll的一部分
- 引用vc++中的静态库
- vc++类.静态变量错误,外部符号无法解析
- 为什么静态初始值设定项中的 lambda 无法访问 VC++2013 中类的私有成员?
- 如何使图片适合于一个静态控件vc++ win32
- 模板专用化静态初始化 icc+vc vs gcc+clang
- 在 VC++ MFC 中使用静态变量时出现问题
- 当使用运行时加载dll时,vc++可以共享库中的静态信息