64位 Windows 8.1 安装 MinGW 与简单测试

本文简要一下记录一下在 64bit Windows 8.1 下,进行 MinGW 的安装以及的简单测试工作,IDE使用codeblocks;本文目的是在windows上搭建一个32位linux的开发环境,便于后期移植到linux上。


MinGW的是windows平台上比较好用的一套GNU工具集,官方网站是:http://www.mingw.org/


截至本文发出时,官网右上角仍有个按钮[Download Installer],点击可下载MinGW的在线安装工具


我主要装了一下几个部分的插件,大家可以按照自己的需求安装:

  • Basic Setup
    1. mingw-developer-toolkit bin[An MSYS Installation for MinGW Developers]
    2. mingw32-base bin[A Basic MinGW Installation]
    3. msys-base bin[A Basic MSYS Installation]
  • All Packages
    • MinGW
      • MinGW Libraries
        1. mingw32-pthreads-w32 dev[POSIX threading library for Win32]
然后,点击Installation->Apply Changes,不出意外的话,等几分钟应该就安装完毕了

                           分割线,以上是MinGW的安装,以下是codeblocks配置                           

codeblocks也是一款比较好的跨平台IDE,小巧,功能也不弱,官方网站是: http://www.codeblocks.org/

安装完以后,点击Settings->Compiler...,选择GNU GCC Compiler,选择Toolchain executables选项卡,点击Auto-detect,
MinGW如果正常安装了的话,应该编译工具链已经检测到了。

我在这里将link for dynamic libs也用的是mingw32-gcc.exe

选择Search directories
  1. 将MinGW安装目录下的include目录添加至Compiler选项卡下
  2. 将MinGW安装目录下的lib目录添加至Linker选项卡下

                           分割线,以上是codeblocks的配置,以下是环境测试部分                           

本文在测试环境时仅仅测试了一个系统调用getpid(),一个头文件unistd.h(包含sleep()),一个多线程的创建

以下是测试代码:
#include <unistd.h>
#if defined _UNISTD_H
#define _TIMESPEC_DEFINED
#endif // defined
#include <pthread.h>
#include <stdio.h>

void *test_thread(void *args) {
    printf("pid=%d:%s\n",getpid(),(char*)args);
    sleep(3);
    return NULL;
}
int main() {
    char buf[] = "test";
    pthread_t thread;
    (void)(!pthread_create(&thread,NULL,test_thread,buf)&&pthread_join(thread,NULL));
    return 0;
}
在编译过程中,产生了一个错误,timespec结构体重定义,查看了unistd.h头文件与pthread.h头文件以后,发现是由于unistd.h与pthread.h
对timespec结构体定义的保护宏不同所致,故添加了以下代码
#if defined _UNISTD_H
#define _TIMESPEC_DEFINED
#endif // defined
链接pthread库
选择Project->Build Options...,选中所测试源码所属的build target,选择Linker settings
如果测试源代码目录与libpthread.a所在目录不一样,则在左侧选择了添加libpthread.a库同样还是无法找到
此时需在other linker option里添加选项-lpthread
                           分割线,以上是环境测试部分,以下是环境测试结果                           
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值