使用 Mingw 构建环境C++?

Build Environment C++ using Mingw?

本文关键字:C++ 环境 构建 Mingw 使用      更新时间:2023-10-16

我已经有一段时间没有编程了,正在尝试在新笔记本电脑上设置我的构建环境。 我只是忘记了上次我做错了什么!

我试图做的是拥有通用的包含目录和通用的 Lib 目录,这样当我构建项目或其他依赖项等时......我的编译器能够找到它需要的所有包含和库文件。 我没有接受过正式培训,所以对你们来说,一些显而易见的事情对我来说是学习要点。

我将使用Minw编译器和MSY。 离开内存,我将包含目录和 lib 目录放在 Mingw 目录中,但我可能错了。

我只是想在Windows 7上建立一个有效而简单的构建环境。

我所有的目录应该放在哪里? 谢谢

如果你还没有,MSYS2 通常比 MSSYS 更受欢迎。我将假设MSYS2来回答这个问题。我使用 64 位版本,所以这就是我要展示的内容,但它应该足够简单,可以更改。

我还假设您将msys64目录放在基目录中,如果不将C:/msys64/替换为C:/wherever/you/put/it/msys64/

使用 msys shell 时,/c/msys64/usr/C:/msys64/usr/相同,这与/usr/相同,因为它试图将 Linux 文件组织与 Windows 混合在一起,有时可能有点不直观。安装 msys 库时,通常包含文件位于C:/msys64/usr/include/中,库位于C:/msys64/usr/lib/中。例外情况是,当您拥有 64 位版本和 32 位版本的程序时,在这种情况下,标头为C:/msys64/mingw64/include/C:/msys64/mingw64/lib/库为 64 位(mingw32为 32 位(。

为了使用这些路径进行构建,您需要添加适当的包含路径和库路径。因此,要使所有 64 位程序可用,您需要添加以下标志

-IC:/msys64/usr/include -IC:/msys64/mingw64/include -LC:/msys64/usr/lib -LC:/msys64/mingw64/lib

当你从源代码编译自己的程序时,你可以把它们放在你想要的任何位置。最好不要将它们放在与包管理器相同的目录中,以避免冲突。运行make install有时不会像在 Linux 上那样无缝运行在 msys 上。在这些情况下,创建文件夹(如C:/msys64/custom/include/(是更安全的替代方法。有关此方面的更多见解,请参阅 https://unix.stackexchange.com/questions/30/where-should-i-put-software-i-compile-myself。