我下载了一些演示,它们带有Makefile。win和一个Makefile.sgi。我如何在Windows中运行这些程序来编译演示?
当前回答
我尝试了cygwin和gnuwin,并没有为我工作,我猜是因为makefile主要使用特定的linux代码。
它的工作原理是在Windows 10上使用Ubuntu Bash。如果你来自MAC,这就是一个奇迹,就像我的情况一样:
安装Ubuntu Bash: https://itsfoss.com/install-bash-on-windows/ 进入控制台后,要安装make,只需输入“make”,它就会给出下载说明。
附加功能:
在bash上启用复制/粘贴:在Windows Ubuntu上的bash上复制粘贴 在我的例子中,make名为Maven,所以我也必须安装它:https://askubuntu.com/questions/722993/unable-to-locate-package-maven 要访问windows文件系统C: drive,例如:"cd /mnt/ C /"
希望能有所帮助
其他回答
首先,将visual studio常用工具的路径(c:\Program Files (x86)\Microsoft visual studio 14.0\Common7\ tools)添加到系统路径中。要了解如何将路径添加到系统路径中,请查看此网站: http://www.computerhope.com/issues/ch000549.htm。你只需要这样做一次。
在此之后,只要需要,打开命令行并执行vsvars32.bat,将所有所需的visual studio工具路径添加到系统路径中。
然后,你可以调用nmake -f makefile.mak
PS: visual studio常用工具的路径在您的系统中可能不同。请相应更改。
在Visual Studio 2017中,我必须将这个文件夹添加到Windows 10的path env变量中:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.10.25017\bin\HostX64\x64
还有HostX86
所以如果你正在使用Vscode和Mingw,那么你应该首先确保Mingw的bin文件夹包含在环境路径中,最好将mingw32-make.exe更改为make,以简化任务,然后创建一个makefile 并在其中包含这个代码。
all:
gcc -o filename filename.c
./filename
然后保存makefile并打开Vscode Code终端并写入make。然后makefile将被执行。
如果它是一个“NMake Makefile”,也就是说语法和命令与NMake兼容,它将在Windows上本机工作。通常Makefile。win (.win后缀)表示它是一个与Windows NMake兼容的makefile。你可以试试nmake -f makefile。win。
通常提供标准的Linux makefile文件,NMake看起来很有前途。但是,下面的链接使用了一个简单的Linux Makefile,并解释了可能遇到的一些基本问题。本文还提出了一些在Windows上处理Linux makefile的替代方法。
Windows中的Makefiles
对我来说,在windows上安装ubuntu WSL是最好的选择,这是在windows上编译makefile的最好工具。一千比Cygwin64更好,因为要编译一个makefile,你需要另一个包和编译软件,比如gfortran, netcdf等,在ubuntu WSL中,你可以非常容易和快速地安装所有这些包;)
推荐文章
- GIT克隆在windows中跨本地文件系统回购
- 如何运行一个PowerShell脚本而不显示窗口?
- PowerShell:仅为单个命令设置环境变量
- 为什么这个Windows批处理文件只执行第一行,而在命令shell中执行所有三行?
- 环境变量存储在Windows注册表的哪里?
- 有一个好的Valgrind Windows的替代品吗?
- Windows和Linux上的c++编译:ifdef开关
- 如何验证批处理文件中是否存在一个文件?
- XAMPP -端口80被PID 4的“无法打开进程”使用!12
- 为什么git在Windows下记不住我的密码
- Git克隆/拉不断冻结在“存储密钥在缓存?”
- 有没有替换Windows (Visual C)的unistd.h ?
- 从Windows批处理文件设置系统环境变量?
- 在Makefile中@:(at符号冒号)是什么意思?
- 在Sublime Text 2中使用Ctrl+D进行多个选择时,我如何跳过匹配?