2017-07-19 1 views
0

ich versuche opengl über nuget einzubinden.C++ nuget packages für opengl

Das ist mein packages.config

<?xml version="1.0" encoding="utf-8"?> 
    <packages> 
    <package id="boost" version="1.64.0.0" targetFramework="Native" /> 
    <package id="boost_atomic-vc140" version="1.64.0.0" targetFramework="native" /> 
    <package id="boost_chrono-vc140" version="1.64.0.0" targetFramework="native" /> 
    <package id="boost_date_time-vc140" version="1.64.0.0" targetFramework="native" /> 
    <package id="boost_filesystem-vc140" version="1.64.0.0" targetFramework="native" /> 
    <package id="boost_log_setup-vc140" version="1.64.0.0" targetFramework="native" /> 
    <package id="boost_log-vc140" version="1.64.0.0" targetFramework="native" /> 
    <package id="boost_system-vc140" version="1.64.0.0" targetFramework="native" /> 
    <package id="boost_thread-vc140" version="1.64.0.0" targetFramework="native" /> 
    <package id="boost_unit_test_framework-vc140" version="1.64.0.0" targetFramework="native" /> 
    <package id="glew.v140" version="1.12.0" targetFramework="native" /> 
    <package id="glfw" version="3.2.1" targetFramework="native" /> 
    <package id="glfw.redist" version="3.2.1" targetFramework="native" /> 
    <package id="GLMathematics" version="0.9.5.4" targetFramework="native" /> 
    <package id="lua" version="5.3.3" targetFramework="native" /> 
    <package id="lua.redist" version="5.3.3" targetFramework="native" /> 
    <package id="nupengl.core" version="0.1.0.1" targetFramework="native" /> 
    <package id="nupengl.core.redist" version="0.1.0.1" targetFramework="native" /> 
    <package id="sdl2" version="2.0.5" targetFramework="native" /> 
    <package id="sdl2.redist" version="2.0.5" targetFramework="native" /> 
    <package id="turtle" version="1.2.6" targetFramework="native" /> 
    <package id="unofficial.flayan.glm" version="0.9.8.4" targetFramework="Native" /> 
    </packages> 

Es sollte alles was ich brauche enthalten aber ich eine Störung erhalte:

LNK2019: unresolved external symbol [email protected] 

Ich kann "reparieren", dass opengl32.lib, indem.

#pragma comment(lib, "opengl32.lib") 

Aber ich frage mich, ob ich etwas in meinen Paketen vermisse. Ich hatte den Eindruck, dass man nur die Pakete hinzufügt und die Bibliotheken in den Build einbezieht.

Ich missbrauche nugget, gibt es noch etwas, was ich hätte tun sollen?

Antwort

1

Am I misusing nuget, is there something else I should have done?

Nein, braucht nichts anderes zu tun, sondern nur die opengl32.lib darunter. glDrawElements ist eine "Kern" OpenGL-Funktion. Diese Funktion befindet sich in opengl32.dll, die Sie leider in Ihren Linking-Bibliotheken vergessen haben.

Außerdem unterstützen einige Bibliotheken automatische Verknüpfungsmechanismen (z. B. freeglut), dh die Headerdatei enthält eine Zeile wie #prgama comment (lib, "lib1_name.lib").

dass LNK-Fehler zu beheben, schließen Sie einfach die opengl32.lib durch die Syntax:

#pragma comment(lib, "opengl32.lib")