簡體   English   中英

OpenGL的C ++ Nuget包

[英]c++ nuget packages for opengl

我嘗試通過nuget包含opengl。

這是我的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 __imp__glDrawElements@16

我可以通過包含opengl32.lib來“修復”該問題。

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

但我想知道我的包裹中是否缺少某些東西。 我給人的印象是,只需添加軟件包,它們就將庫包含在構建中。

我是在濫用nuget嗎,還有其他應該做的事情嗎?

我是在濫用nuget嗎,還有其他應該做的事情嗎?

不,除了包括opengl32.lib ,不需要執行任何其他操作。 glDrawElements是OpenGL的“核心”功能。 此函數位於opengl32.dll中,很遺憾,您忘記將其包含在鏈接庫中。

此外,某些庫支持自動鏈接機制(例如freeglut),即,頭文件包含#prgama comment(lib,“ lib1_name.lib”)之類的行。

要解決該LNK錯誤,只需使用以下語法包括opengl32.lib

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM