设置Visual Studio库项目依赖项

时间:2016-11-22 23:22:06

标签: c++ visual-studio opengl static-libraries glew

考虑到以下情况,我很难找到在Visual Studio(即2015)中设置依赖关系的正确方法:

我有两个项目:

  • 引擎:它是一个静态库项目,依赖于我在" Librarian","附加依赖项"中指定的glfw,glew和opengl .lib文件。部分。我还正确地添加了include和libs目录。
  • 游戏:它应该只能访问Engine项目提供的API,因此我将Engine头目录添加到Game include目录,并为生成的Engine.lib添加相同的库目录。

在此阶段,Engine项目成功编译。

我希望Game项目也可以工作,但是当我尝试使用简单的main.cpp编译这个项目时,编译器会显示此错误(引用Engine项目中的文件):

- 错误C1083无法打开包含文件:' GL / glew.h':没有这样的文件或目录

我不想包含opengl,glew和glfw库以及将目录包含到我的Game项目中,因为用户不应该访问此API。

那么......实现这个目标的正确方法是什么(越简单越好)?

提前致谢

1 个答案:

答案 0 :(得分:0)

  

将静态库链接到同一解决方案中的另一个项目的步骤:

Engine项目设为库(如果尚未存在)。建立它。

右键单击您的解决方案或其中一个项目,然后转到Build dependencies -> Project dependencies。在下拉列表中选择您的Game项目,然后选中Engine旁边的框。这将让编译器知道Game无法在没有Engine的情况下启动。

转到"Game" project properties -> C/C++ -> General -> Additional include directories,确保您在此处拥有Engine项目标题文件的位置。

转到C/C++ -> Code Generation,确保两个项目在调试和发布时使用相同的运行时库。

转到"Game" Project properties -> Linker并将其他项目的lib文件的位置放在此处。

转到Linker -> Input添加Engine.lib或同等的此列表。

您应该有一个链接到库的项目。如果这没有帮助,请回复我的回复。