使用 Mingw 构建环境 C++?

Build Environment C++ using Mingw?

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

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

我将使用 Mingw 编译器和 MSYS。关闭内存我将 Include 目录和 lib 目录放在 Mingw 目录中,但我可能在那里错了。

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

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

如果您还没有,MSYS2 通常优于 MSYS。我将假设 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 有时 运行 在 msys 上不会像在 linux 上那样无缝。在这些情况下,创建 C:/msys64/custom/include/ 之类的文件夹是更安全的选择。请参阅 https://unix.stackexchange.com/questions/30/where-should-i-put-software-i-compile-myself 了解更多信息。