gpt4 book ai didi

c++ - 设置 Visual Studio 库项目依赖项

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:44:58 27 4
gpt4 key购买 nike

在以下情况下,我正在努力寻找在 Visual Studio(即 2015)中设置依赖项的正确方法:

我有 2 个项目:

  • 引擎:它是一个静态库项目,依赖于我在“图书馆员”、“其他依赖项”部分中指定的 glfw、glew 和 opengl .lib 文件。我还正确添加了 include 和 libs 目录。
  • 游戏:它应该只能访问引擎项目提供的 API,因此我将引擎 header 目录添加到游戏包含目录,生成的 Engine.lib 和附加库目录也是如此。

至此,Engine工程编译成功。

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

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

我不想在我的游戏项目中包含 opengl、glew 和 glfw 库以及目录,因为用户不应访问此 API。

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

提前致谢

最佳答案

Steps to link a static library to another project in same solution:

将您的 Engine 项目设为库(如果尚未)。构建它。

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

转到您的 “游戏”项目属性 -> C/C++ -> 常规 -> 附加包含目录,确保您有 Engine 项目 header 的位置在这里归档。

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

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

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

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

关于c++ - 设置 Visual Studio 库项目依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40753461/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com