使用 Mingw 构建环境C++?
Build Environment C++ using Mingw?
我已经有一段时间没有编程了,正在尝试在新笔记本电脑上设置我的构建环境。 我只是忘记了上次我做错了什么!
我试图做的是拥有通用的包含目录和通用的 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。
- 枚举环境变量的惯用C++14/C++17方法
- 在 Windows 上,是否可以让 dll 在不使用 PATH 环境变量的情况下在另一个文件夹中查找依赖项?
- 创建一个包含 c++ 默认值的环境文件
- 定义C++新的环境变量并在 bat 文件中使用它
- 用于在并发环境中访问 MMIO 的软件模式
- docker 构建失败:无法设置环境变量
- 如何在不传递命令行参数的情况下在 c++ 中设置环境变量
- C++环境变量
- 在编译时为运行时设置环境变量
- 在 3ds Max 中更新进度条后,环境和效果 UI 不刷新
- 如何使用可视化代码和平台IO将环境变量注入CPP文件?
- 访问 PlatformIO 中的外部环境变量
- 在 Azure DevOps 构建管道中使用英特尔C++编译器为 Linux 环境构建C++代码
- 如何注册枚举类型到QJSEngine,以便在脚本环境中使用?
- WSL 看不到环境变量
- 启动 dll 时 C# 环境堆栈溢出
- "C.UTF-8" C++ Windows 上的语言环境?
- 如何正确取消析构函数中的 Boost deadline_timer(在多线程环境中)?
- 有没有办法为macOS上的C++程序指定自定义语言环境目录
- 如何在提升构建中设置环境变量以进行提升单元测试框架?