如何将GLEW和GLFW以及OpenGL链接到MingW的g++中?

问题描述 投票:0回答:1

我正在做一个关于OpenGL的课程。

因此,我已经在Visual Studio 2019中运行了我的项目,它可以工作。

我需要在Visual Studio中做的是。

  1. 添加GLEW和GLFW的附加功能。包括 目录。(当你下载库时,它只是包含文件的位置)
  2. 增加GLEW和GLFW的额外费用。图书馆 目录。(lib文件夹位置)
  3. 添加额外的 依赖性. (opengl32.lib, glew32.lib, glfw3.lib)
  4. 复制 并粘贴 GLEW.dll 到项目文件中,放在main.cpp旁边。

然后我运行我的代码,它就可以工作了。

但我不想使用Visual Studio 2019,我更愿意在Notepad++或VSCode中工作,我真正想要的是只是将一个项目从 纯粹 记事本,然后用 新Windows终端.

我的问题是 我怎么能做所有的事情,我做的视觉工作室2019年从。动力壳?

听说MingW自带power shell或命令提示符,我想在开始编码之前,我需要找到它,并给它一些命令来链接一切。

我在哪里可以找到MingW的power shell,我需要输入什么命令?

我被这个问题卡了好久,在网上找不到任何关于它的信息。(除了-L和-l是干什么的,但这些都不是 电源外壳 命令)

c++ opengl mingw glfw glew
1个回答
1
投票

的时候,我需要做的是:在Visual Studio中添加GLEW和GLFW的附加include目录。MingGWmingw-w64编译器是Windows命令行工具。它们是Windows下的(一些)命令行工具的移植。海湾合作委员会 编译器。tdm-gcc 是另一种选择。

任何操作系统的 Commandine 工具都不需要自己的 shell。你可以在该操作系统上的任何shell中运行它们。在Windows上,你至少可以选择PowerShell和旧的CMD shell。

MinGW项目和它的GCC工具链一样,为Windows提供了一个最小的类似于unix的环境,叫做MSYS,它包括一个shell。你不需要MSYS来运行编译器。

只要GCC工具能够位于GCC工具链中的 PATH 环境变量,在编译时在shell中运行,然后在shell提示下运行编译器。

>gcc [options...]
>g++ [options...]

就像在任何操作系统上运行一样。如果你想用GCC工具链工作,那么问题就来了。

我如何能从Power Shell做所有我在visual studio 2019中做的事情?

就是简单的问题。你是如何运行GCC的? 这是个笼统的问题。你需要研究相关的 书籍文件

很粗略的说,如果你想编译和链接一个有源文件的C++程序的话 main.cppother.cpp 并依赖于图书馆foobar 在头文件中定义了C++ API,并在DLL中实现,你可以通过以下命令来实现。

将源文件编译成对象文件。

>g++ -c -o main.obj main.cpp -I/path/to/foo/header/files -I/path/to/bar/header/files [any other compilation options....]
>g++ -c -o other.obj other.cpp -I/path/to/foo/header/files -I/path/to/bar/header/files [any other compilation options....]

将对象文件和库连接起来,使之成为一个可执行的程序。

>g++ -o prog main.obj other.obj -L/path/to/foo_dll -L/maybe/a/different/path/to/bar_dll -lfoo -lbar [any other linkage options...]

如果所有这些都成功了,那么程序就会被... prog.exe 你可以运行它。

>prog

就像你运行 g++但条件是: foo.dllbar.dll 可以在运行时通过 操作系统加载器的DLL搜索协议。

我想你也明白,在现实生活中,除了为了教学目的,没有人通过在shell中输入所有的命令来构建程序。他们使用构建系统或IDE来实现自动化。但是,如果你能基本掌握构建系统或集成开发环境背后的工具是如何工作的,那么通过构建系统或集成开发环境这个媒介来构建程序的困难确实会减少。

© www.soinside.com 2019 - 2024. All rights reserved.