2017-07-19 180 views
0

我嘗試通過nuget包含opengl。opengl的C++ nuget包

這是我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> 

它應該包含所有我需要的但是我得到一個錯誤:

LNK2019: unresolved external symbol [email protected] 

我可以 「修復」,通過包括opengl32.lib

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

但我不知道如果我失蹤我包東西。我的印象是,只是增加了軟件包,並且他們將庫包含在構建中。

我濫用nuget嗎,還有什麼我應該做的嗎?

回答

1

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

不,不需要做任何事情,但只是包括opengl32.libglDrawElements是一個「核心」OpenGL功能。這個函數駐留在opengl32.dll中,你不幸遺忘了你的鏈接庫。另外,一些庫支持自動鏈接機制(例如freeglut),也就是說,頭文件包含一行,如#prgama comment(lib,「lib1_name.lib」)。

要解決LNK錯誤,只是語法包括opengl32.lib

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