如何使用 GUI 将外部库和项目导入我的 C++ 项目?
How to import external libraries and projects into my C++ Project with the GUI?
好吧,所以我知道 Java 并且已经摆弄 libGdx 一段时间了。 C++似乎是游戏开发界的"language-to-know",既然我毕业后想成为一名游戏开发者,我就确定学习这门语言无非是有益的。我已经学习了内存管理的基础知识,并通过以下方式应用了我的知识;
- 学习如何解析复杂的文本格式(你知道,任何比 xml 更复杂的东西)
- 为伪语言编写解析器,我可以使用它来序列化 C++ 对象并表达基本数学和 command/function 功能。
现在我想运用我的知识做一些更有趣的事情;制作小游戏!我宁愿推迟学习微处理器和 GPU 的工作原理,直到上大学,所以我需要使用某种框架。为此,我需要能够从外部库导入代码。在 Java 中,我们通常将我们的库放入一个 libs
文件夹中,该文件夹通过使用花哨的 maven/gradle 设置链接到核心项目。
我设置了 GCC 编译器并下载了最新的 Code::Blocks 二进制文件并将它们安装在我过时的 Windows 笔记本电脑上(我不得不下载编译器和 IDE 分开,因为我是 Eclipse 男孩)。我使用 Code::Blocks 而不是 Visual Studio C++ 的原因?
我破产了,买不起快递,而 Community 仍然是 2 场该死的演出,在寒冷的冬日里像糖蜜一样跑上坡(我的电脑只有 2 场 RAM,因为我太便宜了,无法额外添加200 美元购买一台寿命约为 1 年的笔记本电脑),而 Code::Blocks 是 500 兆,运行起来非常棒。
无论如何,我的咆哮已经足够了,问题是在 Java 中,我们可以在任何自我尊重的 IDE 中单击几下导入外部库。 C++好像不一样。我在谷歌上搜索了几个可以充分满足我需求的库,因为我只需要一个渲染库。 Oxygine 似乎是最好的,Angel2D 是我名单上的第二个。我做了some googling yahooing but found little of use. As a matter of fact, it seems that C++ lacks the concept of 'importing' external libraries. #import
seems to only work on core language libraries and project files. The closest thing I have found was dynamically loading libraries,但连这个都不清楚。
C++ 和 Java 中的故事在这里并没有什么不同(尽管 #include
在 C++ 中的工作方式与 import
在 Java 中的工作方式完全不同) .在这两种情况下,都有:
- 编译时使用的符号
- Definitions/implementations 在 运行 时使用
Java 中的 import
语句和 C++ 中的 #include
语句有效地解决了第一个问题。在这两种语言中,第二个是代码如何配置/调用/捆绑的结果;在Java中,最终由哪个*.jar文件提供导入的符号是由"classpath"决定的,而在C++中,它依赖于特定的链接器(对于GCC,传递- l<i>name</i>
表示库名,-L<i>path/to/dir</i>
指定要查找的候选目录,尽管各种环境变量可以覆盖最终加载的实际库)。
虽然拖放可能在某些 IDEs* 中有效,但这确实不是一个很好的解决方案(对于 C++ 和 Java),因为 IDE-特定的构建系统很难自动化、复制或与其他开发人员共享。您会发现在行业中,使用 Bazel, Gradle, CMake, or Make 等构建系统创建命令行构建配置要普遍得多。这些系统使用的配置更容易在 IDE 之间共享,重要的是,可以很容易地被持续集成/测试系统调用。大多数 IDE 支持添加构建/测试步骤,该步骤仅调用任意命令,可以 运行 这些构建系统。如果您设置了它,只需通过编辑构建配置即可添加新的库依赖项。
*抱歉让您失望了,但我已经在 Windows 上尝试了几个 C++ IDE,但我不知道有哪个可以让您简单地将库拖放到其中.
好吧,所以我知道 Java 并且已经摆弄 libGdx 一段时间了。 C++似乎是游戏开发界的"language-to-know",既然我毕业后想成为一名游戏开发者,我就确定学习这门语言无非是有益的。我已经学习了内存管理的基础知识,并通过以下方式应用了我的知识;
- 学习如何解析复杂的文本格式(你知道,任何比 xml 更复杂的东西)
- 为伪语言编写解析器,我可以使用它来序列化 C++ 对象并表达基本数学和 command/function 功能。
现在我想运用我的知识做一些更有趣的事情;制作小游戏!我宁愿推迟学习微处理器和 GPU 的工作原理,直到上大学,所以我需要使用某种框架。为此,我需要能够从外部库导入代码。在 Java 中,我们通常将我们的库放入一个 libs
文件夹中,该文件夹通过使用花哨的 maven/gradle 设置链接到核心项目。
我设置了 GCC 编译器并下载了最新的 Code::Blocks 二进制文件并将它们安装在我过时的 Windows 笔记本电脑上(我不得不下载编译器和 IDE 分开,因为我是 Eclipse 男孩)。我使用 Code::Blocks 而不是 Visual Studio C++ 的原因?
我破产了,买不起快递,而 Community 仍然是 2 场该死的演出,在寒冷的冬日里像糖蜜一样跑上坡(我的电脑只有 2 场 RAM,因为我太便宜了,无法额外添加200 美元购买一台寿命约为 1 年的笔记本电脑),而 Code::Blocks 是 500 兆,运行起来非常棒。
无论如何,我的咆哮已经足够了,问题是在 Java 中,我们可以在任何自我尊重的 IDE 中单击几下导入外部库。 C++好像不一样。我在谷歌上搜索了几个可以充分满足我需求的库,因为我只需要一个渲染库。 Oxygine 似乎是最好的,Angel2D 是我名单上的第二个。我做了some googling yahooing but found little of use. As a matter of fact, it seems that C++ lacks the concept of 'importing' external libraries. #import
seems to only work on core language libraries and project files. The closest thing I have found was dynamically loading libraries,但连这个都不清楚。
C++ 和 Java 中的故事在这里并没有什么不同(尽管 #include
在 C++ 中的工作方式与 import
在 Java 中的工作方式完全不同) .在这两种情况下,都有:
- 编译时使用的符号
- Definitions/implementations 在 运行 时使用
Java 中的 import
语句和 C++ 中的 #include
语句有效地解决了第一个问题。在这两种语言中,第二个是代码如何配置/调用/捆绑的结果;在Java中,最终由哪个*.jar文件提供导入的符号是由"classpath"决定的,而在C++中,它依赖于特定的链接器(对于GCC,传递- l<i>name</i>
表示库名,-L<i>path/to/dir</i>
指定要查找的候选目录,尽管各种环境变量可以覆盖最终加载的实际库)。
虽然拖放可能在某些 IDEs* 中有效,但这确实不是一个很好的解决方案(对于 C++ 和 Java),因为 IDE-特定的构建系统很难自动化、复制或与其他开发人员共享。您会发现在行业中,使用 Bazel, Gradle, CMake, or Make 等构建系统创建命令行构建配置要普遍得多。这些系统使用的配置更容易在 IDE 之间共享,重要的是,可以很容易地被持续集成/测试系统调用。大多数 IDE 支持添加构建/测试步骤,该步骤仅调用任意命令,可以 运行 这些构建系统。如果您设置了它,只需通过编辑构建配置即可添加新的库依赖项。
*抱歉让您失望了,但我已经在 Windows 上尝试了几个 C++ IDE,但我不知道有哪个可以让您简单地将库拖放到其中.