linker freeglut

linker - glut opengl



error FreeLut LNK1104 (2)

En mi proyecto, quiero usar una biblioteca freeglut del opengl sdk no oficial.

Usé Premake para generar archivos de compilación para vs2010. Luego construí todas las bibliotecas (depuración). En mi proyecto, establecí Directorios de inclusión adicionales, Directorios de biblioteca adicionales para el freeglut. En dependencias adicionales agregué freeglutD.lib.

En el código, simplemente incluyo un encabezado freeglut. Cuando quiero ejecutar el programa, aparece un error:

>LINK : fatal error LNK1104: cannot open file ''freeglut.lib''.

FreeglutD.lib es el único archivo en sdk/freeglut/lib . No hay freeglut.dll y freeglut.lib en sdk.

Anteriormente estaba usando Freeglut 2.8.0 MSVC Package desde un enlace que está vinculado dinámicamente (contiene freeglut.dll) y todo funciona bien.

Qué está mal ?


Supongo que olvidó estas líneas de la documentación sobre el uso del SDK:

También necesitarás agregar algunos #defines a tu línea de comando. Estos son:

  • FREEGLUT_STATIC
  • _LIB
  • FREEGLUT_LIB_PRAGMAS = 0

Necesita ese FREEGLUT_STATIC para informar a GLUT que se está conectando estáticamente. De lo contrario, busca una DLL.


Tuve un proyecto anterior de VS12 y obtuve el mismo error LNK1104 al intentar compilarlo después de la actualización en VS15. Todo lo que tuve que hacer para solucionar esto fue ejecutar la consola de Package Manager (Tools - NuGet Package Manager) y escribir:

Install-Package freeglut

Tenga en cuenta que tengo una referencia a glew.h y freeglut.h en uno de mis archivos de encabezado como este:

#include "../packages/nupengl.core.0.1.0.1/build/native/include/GL/glew.h" #include "../packages/nupengl.core.0.1.0.1/build/native/include/GL/freeglut.h"