【问题标题】:c++ nuget packages for opengl用于opengl的c ++ nuget包
【发布时间】:2017-12-25 06:18:40
【问题描述】:

我尝试通过 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,还有什么我应该做的吗?

【问题讨论】:

    标签: c++ visual-studio opengl nuget


    【解决方案1】:

    我是不是在滥用 nuget,还有什么我应该做的吗?

    不,不需要做任何其他事情,只需包括opengl32.libglDrawElements 是一个“核心”OpenGL 功能。此函数位于 opengl32.dll 中,很遗憾您忘记将其包含在链接库中。

    另外,有些库支持自动链接机制(例如freeglut),即头文件包含#prgama comment(lib, "lib1_name.lib")这样的行。

    要解决该 LNK 错误,只需按语法包含 opengl32.lib

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-02-20
      • 2021-10-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多