嗨:在Visual Studio 2012 Professional,Update 4中,我可以通过创建一个新的Visual C++项目(使用空白模板)并进入NuGet包管理器控制台并输入以下内容,轻松地创建一个新的OpenGL项目:
Install-Package freeglut
Install-Package glew
Install-Package glm
Run Code Online (Sandbox Code Playgroud)
获取freeglut,glew和glm(仅限标题的数学库)的库.
然后我可以创建一个利用这些库的简单示例:( 完整示例)
#include <GL/freeglut.h>
#include <GL/glew.h>
#include <glm/glm.hpp>
int main(int argc, char *argv[]) {
...
}
Run Code Online (Sandbox Code Playgroud)
然后在没有任何进一步配置的情况下,我可以点击大绿色构建按钮,所有内容都编译,链接和运行(在NuGet包中找到可再发行的.dll)并且工作正常.
在Visual Studio 2013中,相同的方法不起作用:VS2013抱怨它找不到freeglut.lib:
链接:致命错误LNK1104:无法打开文件'freeglut.lib'
如果我手动编辑库路径并将DLL复制到构建输出目录,我可以让项目编译,但这似乎非常不方便.
有趣的是,即使没有设置或更改任何内容,Visual Studio似乎足够聪明,可以查找 freeglut.lib,但它似乎不知道在哪里可以找到它.
这是一个每包难度,还是VS2013改变了Visual Studio处理NuGet包的方式?