如何在Windows中编译Linux/Unix代码

系统 Linux
很多经典算法往往是用C++在linux下实现的,对长期从事windows开发的辛苦大众来说,想看这些算法的运行效果不得不费一点小功夫。今天捣鼓了一晚上才搞定这事,写出实现方法和大家共享。

很多经典算法往往是用C++在linux下实现的,对长期从事windows开发的辛苦大众来说,想看这些算法的运行效果不得不费一点小功夫。今天捣鼓了一晚上才搞定这事,写出实现方法和大家共享。

***步:下载安装新版Cygwin软件。该软件的官方网站:http://cygwin.com/

Cygwin软件的作用是让Windows拥有Unix-like环境的软件。所以,GCC等编译器自然也就会包含在里面。不过,对于开发者,Cygwin是一个开发环境。而对于用户来说Cygwin是一个运行环境。

注意:要编译C++或者C程序的话,再安装时在选择组件这一步需要选中Devel 选项下的gcc-core,gcc-g++,make 以及Lib选项卡下的glib2,glib2-devel,glib2-runtime。

第二步:修改 cygwin.bat文件。

找到cygwin项目安装目录下的cygwin .bat文件,用记事本将其打开。修改成如下形式:

@echo off

C:

set CYGWIN=tty notitle glob

set PATH=%PATH%;c:\cygwin\bin;c:\cygwin\sbin;c:\cygwin\usr\bin;c:\cygwin\usr\sbin;c:\cygwin\usr\local\bin

set LD_LIBRARY_PATH=c:\cygwin\lib;d:\cygwin\usr\lib;c:\cygwin\usr\local\lib

chdir C:\cygwin\bin

bash --login -i

红色部分为新加入的部分,注意把里面的的路径改成你自己的安装路径。

第三步:在Cygwin使用g++编译软件。

在Cygwin安装目录下,运行cygwin.bat就可以启动cygwin环境了。环境启动后使用cd /cygdrive/...进入你项目所在的文件夹(...代表项目目录,如:cd /cygdrive/d/testProject/)。进入目录后你就可以使用g++命令来编译代码了,g++命令的具体使用方法可以通过键入g++ --?命令来了解。一般网上的项目都有一个makefile文件,如果你下载的项目恰好也有这个文件,那走运了,你直接在ygwin环境中输入make命令即可编译整个项目。到此为止软件应该已经被编译成功。

第四步:运行软件。

运行软件是用如下形式的命令:./testProject -parameter 。另外提一句,如果需要在cygwin环境输入数据,在linux环境中ctrl +d表示输入结束(windows中是ctrl+Z再按回车)。

【编辑推荐】

  1. 教会你Linux Shell自动交互的三种方法
  2. 20年风雨历程:Linux嵌入式
  3. 详解嵌入式Linux驱动入门
责任编辑:赵宁宁 来源: 博客园
相关推荐

2017-03-16 18:50:59

2017-01-05 14:42:49

LinuxUnix服务器

2018-01-29 11:10:47

LinuxUnix网络取证工具

2011-08-04 15:55:50

Windows 编译 Objective-

2018-02-28 13:45:47

LinuxUnixVim

2017-08-07 16:41:39

LinuxOpenCV

2018-02-24 16:30:49

LinuxUnixBash

2018-02-01 17:32:30

LinuxUNIXBash Shell

2021-09-03 09:06:42

代码时间开发

2020-08-28 07:00:00

WSLLinuxWindows 10

2021-11-22 16:51:40

LinuxBitlockerWindows

2017-09-18 10:05:15

WindowsLinux容器

2018-03-28 17:51:24

LinuxUnix

2013-05-14 10:53:43

2018-04-23 10:10:25

Windows 10关闭通知

2018-04-09 09:45:09

Windows 10休眠

2018-08-30 10:00:12

Windows 10修复黑屏

2019-09-16 13:48:03

Linux管理日志

2021-04-30 13:19:20

Linux删除分区

2017-01-11 16:41:16

Linux设备文件文件系统
点赞
收藏

51CTO技术栈公众号