目录
AVX512(Advanced Vector Extensions 512)
问题
vpxmdd.lib(vpx_dsp_vpx_dsp_rtcd.obj) : error LNK2019: 无法解析的外部符号 vpx_sad64x64x4d_avx512,函数 setup_rtcd_internal 中引用了该符号
AVX512(Advanced Vector Extensions 512)

解决方案

Cygwin 与mingw的关系
Cygwin与Mingw既有区别又有联系,具体如下: 1. **区别**: - **目标和功能侧重**: - **Cygwin**:是一个在Windows平台上运行的Unix模拟环境,目的是提供完整的类Unix环境,包括各种Unix工具、库以及模拟的Unix系统调用接口等。它更像是一个平台,通过`cygwin1.dll`将Unix风格的系统调用转换为Windows系统调用,使开发者能在Windows上体验到接近Unix的开发和运行环境,理论上只要用Cygwin重新编译,Linux上的程序就可以在Windows上运行,但兼容性被认为比性能更重要。 - **Mingw**:全称为“Minimalist GNU for Windows”,主要目标是为Windows提供一个最小化的GNU编译环境,以便开发者可以使用GNU工具链(如GCC等)在Windows下进行本地Windows程序的开发。它侧重于提供简单、高效的开发环境,让开发者能够使用GNU工具来编译不依赖第三方模拟层支持的原生Windows应用程序,优先考虑的是简单性和性能。 - **依赖项**: - **Cygwin**:编译后的程序运行时需要依赖安装时附带的`cygwin1.dll`。因为Cygwin的程序是通过`cygwin1.dll`来模拟Unix系统调用,如果没有这个动态链接库,程序将无法正常运行。 - **Mingw**:编译后的程序可以直接在Windows上运行,不需要额外的依赖库(除了Windows系统本身的一些基础库)。 - **编译性能和生成文件大小**: - **Cygwin**:由于需要进行系统调用的转换以及模拟层的处理,编译速度相对较慢,并且生成的可执行文件可能会较大,因为包含了一些与模拟环境相关的代码。 - **Mingw**:编译性能相对较高,生成的可执行文件相对较小,更适合对性能和文件大小有要求的应用场景。 - **对POSIX API的支持程度**: - **Cygwin**:旨在提供一个完整的POSIX层,包括所有主要Unix系统调用和库的完整实现,对POSIX API的支持非常全面。 - **Mingw**:不提供某些POSIX API,这些API无法使用Windows API轻松实现,例如`fork()`、`mmap()`和`ioctl()`等。 2. **联系**: - **都是为了在Windows上使用GNU工具**:Cygwin和Mingw都是为了让Windows用户能够使用GNU工具集,如GCC等编译器,以便在Windows环境下进行类Unix或Windows程序的开发。 - **Mingw可在Cygwin上运行**:Mingw可以作为Cygwin下的一个软件包来使用。在Cygwin环境中,可以使用Mingw的工具链进行开发,这样开发者可以根据具体需求在Cygwin的类Unix环境和Mingw的原生Windows编译环境之间进行选择。
784

被折叠的 条评论
为什么被折叠?



