使用 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 了解更多信息。
我已经有一段时间没有编程了,我正在尝试在一台新笔记本电脑上设置我的构建环境。我只是忘记了我上次是怎么分配错的!
我想要做的是拥有通用的包含目录和通用的 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 了解更多信息。