[英]How to run a makefile in Windows?
我下載了一些演示,它們帶有 Makefile.win 和 Makefile.sgi。 如何在 Windows 中運行這些來編譯演示?
您可以使用Chocolatey安裝GNU make ,這是一個維護良好的包管理器,它將make
添加到全局路徑並在所有 CLI(powershell、git bash、cmd 等)上運行,從而為您節省大量維護和初始時間設置讓 make 運行。
安裝適用於Windows的巧克力包管理器
兼容 Windows 7+ / Windows Server 2003+
運行choco install make
我不隸屬於 choco,但我強烈推薦它,到目前為止它從未讓我失望,而且我確實有無意中破壞軟件的天賦。
如果您有 Visual Studio,請從“開始”菜單運行 Visual Studio 命令提示符,切換到包含Makefile.win
的目錄並鍵入:
nmake -f Makefile.win
您也可以使用普通命令提示符並運行 vsvars32.bat (c:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\Tools for VS2008)。 這將設置環境以運行 nmake 並找到編譯器工具。
查看cygwin ,一個類似 Unix 的 Windows 環境
查看GnuWin的make (for windows) ,它為 Windows 提供了本機端口(不需要像 Cygwin 這樣的完整運行時環境)
如果你有winget ,你可以像這樣通過 CLI 安裝:
winget install GnuWin32.Make
此外,請務必將安裝路徑添加到系統PATH
:
C:\Program Files (x86)\GnuWin32\bin
這是我運行 Makefile 的快速臨時方法
C:\Program 文件 (x86)\GnuWin32\bin
libiconv2.dll libintl3.dll make.exe
制作.exe
完畢。
另外,您可以在命令后添加參數,例如
make.exe 骨架
如果你安裝Cygwin 。 確保在安裝程序中選擇 make。 然后,如果您有 Makefile,則可以運行以下命令。
make -f Makefile
https://cygwin.com/install.html
使用 Visual Studio 2017,我必須將此文件夾添加到我的 Windows 10 路徑環境變量中:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.10.25017\bin\HostX64\x64
還有HostX86
如果它是“NMake Makefile”,也就是說語法和命令與 NMake 兼容,它將在 Windows 上原生運行。 通常Makefile.win
( .win
后綴)表示它是與 Windows NMake 兼容的 makefile。 所以你可以試試nmake -f Makefile.win
。
通常會提供標准的 Linux Makefiles, NMake
看起來很有希望。 但是,以下鏈接采用了一個簡單的 Linux Makefile 並解釋了可能遇到的一些基本問題。 它還提出了一些在 Windows 上處理 Linux Makefile 的替代方案。
首先,將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 常用工具的路徑在您的系統中可能會有所不同。 請相應地更改它。
我嘗試使用 cygwin 和 gnuwin,但對我沒有用,我猜是因為 makefile 主要使用特定的 linux 代碼。
它的工作原理是使用Ubuntu Bash for Windows 10 。 如果您來自 MAC,這就是奇跡,因為這是我的情況:
附加功能:
希望能幫助到你
安裝 msys2 並使用 make 依賴項將兩者都添加到 PATH 變量中。 (第二個選項是 GNU ToolChain for Windows。MinGW 版本已經包含了 mingw32-make。)
安裝 Git Bash。 從 Git Bash 運行 mingw32-make。
我假設您將mingw32/bin
添加到環境變量中,否則請添加它,我假設它是 gcc 編譯器並且您有 mingw 安裝程序。
第一步:從mingw安裝程序下載mingw32-make.exe
,或者先檢查mingw/bin
文件夾是否有mingw32-make.exe
,如果不安裝,重命名為make.exe
。
將其重命名為make.exe
后,只需在makefile
所在的目錄中運行此命令即可。 您可以直接將其作為mingw32-make
運行,而不是重命名它。
畢竟,一個命令只是一個exe文件或者一個軟件,我們用它的名字來執行這個軟件,我們稱之為命令。
因此,如果您使用的是 Vscode 和 Mingw,那么您應該首先確保mingw
的bin
文件夾包含在環境路徑中,並且最好將mingw32-make.exe
更改為make
以簡化任務,然后創建一個makefile
並在其中包含此代碼。
all:
gcc -o filename filename.c
./filename
然后保存 makefile 並打開 Vscode Code
終端並編寫make
。 然后makefile將被執行。
如果您已經從MSYS2安裝了 Windows GNU 編譯器 (MinGW),那么make
命令會預先安裝為wingw32-make
。 始終將 cmake makefile 生成與正確的 make 命令相匹配。 混合這些會產生問題。
使用 MinGW make 命令生成 MinGW makefile
使用 VS 等效 make 命令生成 Visual Studio makefile
只要您擁有源代碼,這始終是可能的。 只需刪除舊的構建目錄並通過這次在 cmake 中指定正確的參數來重新開始,例如
mkdir build
cd build
cmake -G "MinGW MakeFiles" path/to/src/whereCMakeLists.txtInstructionsAre
mingw32-make
myProject.exe # RUN
我在編譯過程中遇到了多個 make 命令交互的問題。 為了防止這種情況,只需編輯/刪除導致不同 make 命令的環境變量。 例如,為了防止與 mingw 沖突,只保留C:\msys64\mingw64\bin
但刪除C:\msys64\usr\bin
。 另一個路徑包含 msys make,正如我所說,您不想在編譯期間組合 make 命令。
Go 到http://gnuwin32.sourceforge.net/packages/make.htm並下載 make-3.81.exe,安裝並添加到 ZAEA23489CE3AA9B6406EBB28E0CDA4 路徑。
我下載了一些演示,它們帶有Makefile.win和Makefile.sgi。 如何在Windows中運行這些文件以編譯演示?
也許它可以工作。
pip install Makefile
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.