windows 下使用 msys2 使用gcc进行编译 libiconv

cygwin、MinGW64、MSYS 的区别

cygwin 没有一个好用的包管理工具,无论是官方的 setup.exe,还是第三方的 apt-cyg,像依赖什么的都得额外按照,而且不支持升级操作。另外 cygwin 里面很多软件还是比较老的。

MinGW64(Minimalist GNU for Windows)用于在 Windows 上编译基于GCC的应用程序。他主要提供了针对 win32 应用的 GCC、GNU binutils 等工具,以及对等于 Windows SDK(的子集)的头文件和用于 MinGW 版本的 linker 的库文件(so【动态链接库】、a【静态链接库】 等,而不是 VC 的lib)。MinGW 是用于进行 Windows 应用开发的 GNU 工具链(开发环境),它的编译产物一般是原生 Windows 应用。(mingw 的命令行工具的命令都是基于 windows 的!!!)

MSYS 是用于辅助 Windows 版 MinGW 进行命令行开发的配套软件包,提供了部分 Unix 工具以使得 MinGW 的工具使用起来方便一些(MinGW需要在MSYS内部通过 pacman 安装)

下载 msys2

http://www.msys2.org/

msys2使用pacman作为包管理器。同时,pacman也是ArchLinux上的包管理器。
所以我们使用 pacman 命令安装编译工具链
-S 表示保存,-Q 表示查询

pacman -S gcc  
pacman -S mingw-w64-x86_64-toolchain
pacman -S mingw-w64-i686-toolchain
pacman -S base-devel
pacman -S vim
pacman -S yasm
pacman -S nasm

下载 libiconv

http://www.gnu.org/software/libiconv/

编译 libiconv

./configure --prefix=/usr/local
make
make install

也可以连写
./configure && make && make install

编译结果会放在 configure 指定的路径。如果默认不写–prefix路径的话,会自动安装到/usr/local下面。

默认会在 /usr/local/bin 下生成 libiconv.exe 并在 /usr/local/lib 目录下生成 .a 的静态链接库。

通过 ls -l 命令可以查看文件的具体信息。

在这里插入图片描述在这里插入图片描述通过 ./configure -h 可以查看配置的帮助文档
在这里插入图片描述

这里编译 libiconv 只是做一个编译的试验,msys2 已经自带了 libiconv, 通过 whereis 命令可以查看到该位置
在这里插入图片描述
从时间上可以看出 libiconv 老早就被加到 msys2 里面了
在这里插入图片描述

将编译好的成果拷贝出来

使用默认挂载的目录

输入 mount 可以查看当前已挂在的目录
在这里插入图片描述第一个是windows 下的目录,被映射到第二个参数上面了。

使用自定义挂载的目录

  1. vim /etc/fstab,按 i 键进入编辑模式
  2. C:/Users/Public/Documents /windoc ntfs binary,noacl,auto 1 1
  3. ESC 退出编辑模式,然后 :wq 保存文件

这里是将 windows 目录下的 C:\Users\Public\Documents 目录映射到 msys2 的 /windoc目录下
在这里插入图片描述fstab是用来添加启动时自动挂载的目录的,所以必须要重启才会生效。可以输入 exit 退出程序,然后重新打开

在这里插入图片描述

补充说明

后面发现 mys2 已经实现了挂载操作了。

  • ls /d 可以直接查看 D盘 下面的文件
  • cd /d 可以直接进入 D盘
要在Windows使用MSYS2编译FFmpeg,你可以按照以下步骤进行操作: 1. 首先,下载FFmpeg的源代码。你可以在官方网站上找到下载链接。 2. 安装MSYS2 MinGW64。你可以在官方网站上找到安装程序。 3. 在MSYS2 MinGW64的命令行中,执行以下命令来配置编译环境和编译FFmpeg: ``` pacman -S mingw-w64-x86_64-toolchain // 安装mingw工具链 pacman -S msys/base-devel // 安装基础工作环境 pacman -S yasm nasm gcc // 安装汇编和编译器 pacman -S mingw64/mingw-w64-x86_64-SDL2 // 安装FFmpeg依赖的SDL2库 ``` 4. 解压下载的FFmpeg源码,并进入解压后的文件夹。使用以下命令进行配置和编译安装: ``` cd /path/to/ffmpeg-source-code // 进入FFmpeg源码文件夹 ./configure --prefix=/usr/local/ffmpeg // 配置安装路径 make // 编译源码(需要一段时间) make install // 安装编译结果 ``` 5. 编译完成后,你就可以在指定的安装路径(默认为/usr/local/ffmpeg)找到生成的相关文件。 请注意,编译过程中可能会出现一些错误。如果遇到问题,你可以参考一些博客或文档,或者重新安装MSYS2并重复上述步骤来解决问题。 希望这些步骤对你有帮助!<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [windows使用MSYS2编译FFmpeg](https://blog.csdn.net/ice_bear221/article/details/128515239)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值