GLFW 链接问题 Visual Studio 2012.
GLFW linking issue Visual Studio 2012
这让我发疯了,我想静态链接到 GLFW.lib,按照自述文件的第 4.2.1 节.html提供我已将 glfw.lib 和 opengl32.lib 添加到 VS 上链接器的其他依赖项部分。
我还将包含 glfw.lib 的目录添加到链接器>常规下的其他库目录部分。
当然,我已经在我的项目中包含了 glfw.h 文件,但我仍然得到......
Error 1 error LNK2019: unresolved external symbol _glfwInit referenced in function _main C:UsersSmith_000DocumentsVisual Studio 2012ProjectsSparkSparkmain.obj Spark
Error 2 error LNK2019: unresolved external symbol _glfwTerminate referenced in function _main C:UsersSmith_000DocumentsVisual Studio 2012ProjectsSparkSparkmain.obj Spark
Error 3 error LNK2019: unresolved external symbol _glfwOpenWindow referenced in function _main C:UsersSmith_000DocumentsVisual Studio 2012ProjectsSparkSparkmain.obj Spark
Error 4 error LNK2019: unresolved external symbol _glfwSwapBuffers referenced in function _main C:UsersSmith_000DocumentsVisual Studio 2012ProjectsSparkSparkmain.obj Spark
Error 5 error LNK2019: unresolved external symbol _glfwGetWindowParam referenced in function _main C:UsersSmith_000DocumentsVisual Studio 2012ProjectsSparkSparkmain.obj Spark
Error 6 error LNK2019: unresolved external symbol _glfwGetKey referenced in function _main C:UsersSmith_000DocumentsVisual Studio 2012ProjectsSparkSparkmain.obj Spark
Error 7 error LNK1120: 6 unresolved externals C:UsersSmith_000DocumentsVisual Studio 2012ProjectsSparkDebugSpark.exe 1 1 Spark
使用以下(示例)代码...
#include <glfw.h>
#include <stdlib.h>
int main( void )
{
int running = GL_TRUE;
// Initialize GLFW
if( !glfwInit() )
{
exit( EXIT_FAILURE );
}
// Open an OpenGL window
if( !glfwOpenWindow( 300,300, 0,0,0,0,0,0, GLFW_WINDOW ) )
{
glfwTerminate();
exit( EXIT_FAILURE );
}
// Main loop
while( running )
{
// OpenGL rendering goes here...
glClear( GL_COLOR_BUFFER_BIT );
// Swap front and back rendering buffers
glfwSwapBuffers();
// Check if ESC key was pressed or window was closed
running = !glfwGetKey( GLFW_KEY_ESC ) &&
glfwGetWindowParam( GLFW_OPENED );
}
// Close window and terminate GLFW
glfwTerminate();
// Exit program
exit( EXIT_SUCCESS );
}
我做错了什么?
确保在
包含.exe文件的文件夹中有 glfw.dll。如果这没有帮助,请添加另一个库 glu32.lib。
我曾经通过在 main 函数之前添加它来添加代码中的库。有了这个,您可以看到您拥有的 linek 库,而无需挖掘选项和菜单。
#pragma comment(lib, "GLFW.lib")
#pragma comment(lib, "opengl32.lib")
#pragma comment(lib, "glu32.lib")
也许原因是
因为您只在一种构建模式下链接到这些库,例如发布。
第二个可能的原因:(如果我错了,请纠正我,因为我不是 100% 确定这一点)。LIB 文件可能是在不同的编译器中构建的。例如,LIB 是在 MinGW 中编译的,并且您使用 MSVC++ 编译器链接到它。
第三个可能的原因:考虑您使用的GLFW版本(如32位,64位)。
相关文章:
- 使用Visual Studio 2012编译时,此代码会给我错误,但是使用代码块就可以了
- 在 Visual Studio 2012 中未命中断点
- C Visual Studio 2012 Express命令窗口怪异行为
- Visual Studio 2012静态图书馆与Visual Studio 2017
- C 11魔术静态在Visual Studio 2012中的解决方法
- 在 Visual Studio 2012 中使用 "= delete" 时出现编译器错误
- Visual Studio (2012) 更改 dll 以导出类和变量
- 资源窗口在其他系统上无法正常工作 (Visual Studio 2012)
- C++函数中的内存泄漏,Visual Studio 2012,链表
- 两个不同的标题GCC,Visual Studio 2012
- gdal201.dll在Visual Studio 2012上的计算机错误中缺少
- Visual Studio 2012中可用覆盖的列表
- Windows 10中的Visual Studio 2012:找不到或打开PDB文件
- 在 64 位 Windows 8 机器上使用 Visual Studio 2012 构建 opencv 的绝对解决方案
- 如何在 Visual Studio 2012 中禁用大括号完成
- 如何在Visual Studio 2012中使用sqlite
- GLFW 链接问题 Visual Studio 2012.
- 使用Visual Studio 2012针对Windows XP构建Boost 1.52库
- 特定于域的语言工具 Visual Studio 2012 输出C++
- 生产力 Microsoft Visual Studio 2012 的电源工具不起作用