簡體   English   中英

Windows 'make' 命令用於使用 GNU C++ 編譯器和 gnuwin32 編譯 Github 項目代碼:奇怪的錯誤

[英]Windows 'make' Command for Compiling Github Project Code Using GNU C++ Compiler and gnuwin32: Strange Error

I am trying to compile some code which I have slightly edited from a specific Github project ( https://github.com/CTurt/3DSController/tree/master/PC ) on my Windows device using Mingw32 g++ (the GNU C++ Compiler) and gnuwin32.

我對這些程序很陌生,但我相信我已經設法正確安裝它們,因為在命令提示符中鍵入命令“make”時肯定會被識別。 但是,以下錯誤可能是由於這些程序之一的路徑規范不正確而引起的。

當我在帶有“Makefile”文件的目錄中運行此命令時,遇到此錯誤:

C:\Users\Avery\Downloads\3DSController-master2\3DSController-master\PC>make
process_begin: CreateProcess(NULL, uname, ...) failed.
process_begin: CreateProcess(NULL, uname, ...) failed.
process_begin: CreateProcess(NULL, uname, ...) failed.

在該目錄中,創建了一個名為“build”的空文件夾,但沒有其他跡象表明該過程已完成,因此我認為它失敗了。

我再次運行“make”,這次包括顯示所有調試信息的標簽。 我將結果放在下面以防萬一。 任何提示或建議將不勝感激!

 C:\Users\Avery\Downloads\3DSController-master\3DSController-master\PC>make -d
    GNU Make 3.81
    Copyright (C) 2006  Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.
    There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
    PARTICULAR PURPOSE.

This program built for i386-pc-mingw32
Reading makefiles...
Reading makefile `makefile'...
CreateProcess(NULL,uname,...)
process_begin: CreateProcess(NULL, uname, ...) failed.
CreateProcess(NULL,uname,...)
process_begin: CreateProcess(NULL, uname, ...) failed.
CreateProcess(NULL,uname,...)
process_begin: CreateProcess(NULL, uname, ...) failed.
Updating makefiles....
 Considering target file `makefile'.
  Looking for an implicit rule for `makefile'.
  Trying pattern rule with stem `makefile'.
  Trying implicit prerequisite `makefile.o'.
  Trying pattern rule with stem `makefile'.
  Trying implicit prerequisite `makefile.c'.
  Trying pattern rule with stem `makefile'.
  Trying implicit prerequisite `makefile.cc'.
  Trying pattern rule with stem `makefile'.
  Trying implicit prerequisite `makefile.cpp'.
  Trying pattern rule with stem `makefile'.
  Trying implicit prerequisite `makefile.p'.
  Trying pattern rule with stem `makefile'.
  Trying implicit prerequisite `makefile.f'.
  Trying pattern rule with stem `makefile'.
  Trying implicit prerequisite `makefile.r'.
  Trying pattern rule with stem `makefile'.
  Trying implicit prerequisite `makefile.s'.
  Trying pattern rule with stem `makefile'.
  Trying implicit prerequisite `makefile.mod'.
  Trying pattern rule with stem `makefile'.
  Trying implicit prerequisite `makefile.sh'.
  Trying pattern rule with stem `makefile'.
  Trying implicit prerequisite `makefile,v'.
  Trying pattern rule with stem `makefile'.
  Trying implicit prerequisite `RCS/makefile,v'.
  Trying pattern rule with stem `makefile'.
  Trying implicit prerequisite `RCS/makefile'.
  Trying pattern rule with stem `makefile'.
  Trying implicit prerequisite `s.makefile'.
  Trying pattern rule with stem `makefile'.
  Trying implicit prerequisite `SCCS/s.makefile'.
  Trying pattern rule with stem `makefile'.
  Trying implicit prerequisite `makefile.o'.
  Looking for a rule with intermediate file `makefile.o'.
   Avoiding implicit rule recursion.
   Trying pattern rule with stem `makefile'.
   Trying implicit prerequisite `makefile.c'.
   Trying pattern rule with stem `makefile'.
   Trying implicit prerequisite `makefile.cc'.
   Trying pattern rule with stem `makefile'.
   Trying implicit prerequisite `makefile.cpp'.
   Trying pattern rule with stem `makefile'.
   Trying implicit prerequisite `makefile.p'.
   Trying pattern rule with stem `makefile'.
   Trying implicit prerequisite `makefile.f'.
   Trying pattern rule with stem `makefile'.
   Trying implicit prerequisite `makefile.r'.
   Trying pattern rule with stem `makefile'.
   Trying implicit prerequisite `makefile.s'.
   Trying pattern rule with stem `makefile'.
   Trying implicit prerequisite `makefile.mod'.
   Trying pattern rule with stem `makefile.o'.
   Trying implicit prerequisite `makefile.o,v'.
   Trying pattern rule with stem `makefile.o'.
   Trying implicit prerequisite `RCS/makefile.o,v'.
   Trying pattern rule with stem `makefile.o'.
   Trying implicit prerequisite `RCS/makefile.o'.
   Trying pattern rule with stem `makefile.o'.
   Trying implicit prerequisite `s.makefile.o'.
   Trying pattern rule with stem `makefile.o'.
   Trying implicit prerequisite `SCCS/s.makefile.o'.
   Trying pattern rule with stem `makefile'.
   Trying implicit prerequisite `makefile.c'.
   Looking for a rule with intermediate file `makefile.c'.
    Avoiding implicit rule recursion.
    Avoiding implicit rule recursion.
    Trying pattern rule with stem `makefile'.
    Trying implicit prerequisite `makefile.y'.
    Trying pattern rule with stem `makefile'.
    Trying implicit prerequisite `makefile.l'.
    Trying pattern rule with stem `makefile'.
    Trying implicit prerequisite `makefile.w'.
    Trying pattern rule with stem `makefile'.
    Trying implicit prerequisite `makefile.w'.
    Trying pattern rule with stem `makefile.c'.
    Trying implicit prerequisite `makefile.c,v'.
    Trying pattern rule with stem `makefile.c'.
    Trying implicit prerequisite `RCS/makefile.c,v'.
    Trying pattern rule with stem `makefile.c'.
    Trying implicit prerequisite `RCS/makefile.c'.
    Trying pattern rule with stem `makefile.c'.
    Trying implicit prerequisite `s.makefile.c'.
    Trying pattern rule with stem `makefile.c'.
    Trying implicit prerequisite `SCCS/s.makefile.c'.
    Trying pattern rule with stem `makefile'.
    Trying implicit prerequisite `makefile.y'.
    Looking for a rule with intermediate file `makefile.y'.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Trying pattern rule with stem `makefile.y'.
     Trying implicit prerequisite `makefile.y,v'.
     Trying pattern rule with stem `makefile.y'.
     Trying implicit prerequisite `RCS/makefile.y,v'.
     Trying pattern rule with stem `makefile.y'.
     Trying implicit prerequisite `RCS/makefile.y'.
     Trying pattern rule with stem `makefile.y'.
     Trying implicit prerequisite `s.makefile.y'.
     Trying pattern rule with stem `makefile.y'.
     Trying implicit prerequisite `SCCS/s.makefile.y'.
    Trying pattern rule with stem `makefile'.
    Trying implicit prerequisite `makefile.l'.
    Looking for a rule with intermediate file `makefile.l'.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Trying pattern rule with stem `makefile.l'.
     Trying implicit prerequisite `makefile.l,v'.
     Trying pattern rule with stem `makefile.l'.
     Trying implicit prerequisite `RCS/makefile.l,v'.
     Trying pattern rule with stem `makefile.l'.
     Trying implicit prerequisite `RCS/makefile.l'.
     Trying pattern rule with stem `makefile.l'.
     Trying implicit prerequisite `s.makefile.l'.
     Trying pattern rule with stem `makefile.l'.
     Trying implicit prerequisite `SCCS/s.makefile.l'.
    Trying pattern rule with stem `makefile'.
    Trying implicit prerequisite `makefile.w'.
    Looking for a rule with intermediate file `makefile.w'.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Trying pattern rule with stem `makefile.w'.
     Trying implicit prerequisite `makefile.w,v'.
     Trying pattern rule with stem `makefile.w'.
     Trying implicit prerequisite `RCS/makefile.w,v'.
     Trying pattern rule with stem `makefile.w'.
     Trying implicit prerequisite `RCS/makefile.w'.
     Trying pattern rule with stem `makefile.w'.
     Trying implicit prerequisite `s.makefile.w'.
     Trying pattern rule with stem `makefile.w'.
     Trying implicit prerequisite `SCCS/s.makefile.w'.
    Trying pattern rule with stem `makefile'.
    Rejecting impossible implicit prerequisite `makefile.w'.
   Trying pattern rule with stem `makefile'.
   Trying implicit prerequisite `makefile.cc'.
   Looking for a rule with intermediate file `makefile.cc'.
    Avoiding implicit rule recursion.
    Avoiding implicit rule recursion.
    Trying pattern rule with stem `makefile.cc'.
    Trying implicit prerequisite `makefile.cc,v'.
    Trying pattern rule with stem `makefile.cc'.
    Trying implicit prerequisite `RCS/makefile.cc,v'.
    Trying pattern rule with stem `makefile.cc'.
    Trying implicit prerequisite `RCS/makefile.cc'.
    Trying pattern rule with stem `makefile.cc'.
    Trying implicit prerequisite `s.makefile.cc'.
    Trying pattern rule with stem `makefile.cc'.
    Trying implicit prerequisite `SCCS/s.makefile.cc'.
   Trying pattern rule with stem `makefile'.
   Trying implicit prerequisite `makefile.cpp'.
   Looking for a rule with intermediate file `makefile.cpp'.
    Avoiding implicit rule recursion.
    Avoiding implicit rule recursion.
    Trying pattern rule with stem `makefile.cpp'.
    Trying implicit prerequisite `makefile.cpp,v'.
    Trying pattern rule with stem `makefile.cpp'.
    Trying implicit prerequisite `RCS/makefile.cpp,v'.
    Trying pattern rule with stem `makefile.cpp'.
    Trying implicit prerequisite `RCS/makefile.cpp'.
    Trying pattern rule with stem `makefile.cpp'.
    Trying implicit prerequisite `s.makefile.cpp'.
    Trying pattern rule with stem `makefile.cpp'.
    Trying implicit prerequisite `SCCS/s.makefile.cpp'.
   Trying pattern rule with stem `makefile'.
   Trying implicit prerequisite `makefile.p'.
   Looking for a rule with intermediate file `makefile.p'.
    Avoiding implicit rule recursion.
    Avoiding implicit rule recursion.
    Trying pattern rule with stem `makefile'.
    Trying implicit prerequisite `makefile.web'.
    Trying pattern rule with stem `makefile.p'.
    Trying implicit prerequisite `makefile.p,v'.
    Trying pattern rule with stem `makefile.p'.
    Trying implicit prerequisite `RCS/makefile.p,v'.
    Trying pattern rule with stem `makefile.p'.
    Trying implicit prerequisite `RCS/makefile.p'.
    Trying pattern rule with stem `makefile.p'.
    Trying implicit prerequisite `s.makefile.p'.
    Trying pattern rule with stem `makefile.p'.
    Trying implicit prerequisite `SCCS/s.makefile.p'.
    Trying pattern rule with stem `makefile'.
    Trying implicit prerequisite `makefile.web'.
    Looking for a rule with intermediate file `makefile.web'.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Trying pattern rule with stem `makefile.web'.
     Trying implicit prerequisite `makefile.web,v'.
     Trying pattern rule with stem `makefile.web'.
     Trying implicit prerequisite `RCS/makefile.web,v'.
     Trying pattern rule with stem `makefile.web'.
     Trying implicit prerequisite `RCS/makefile.web'.
     Trying pattern rule with stem `makefile.web'.
     Trying implicit prerequisite `s.makefile.web'.
     Trying pattern rule with stem `makefile.web'.
     Trying implicit prerequisite `SCCS/s.makefile.web'.
   Trying pattern rule with stem `makefile'.
   Trying implicit prerequisite `makefile.f'.
   Looking for a rule with intermediate file `makefile.f'.
    Avoiding implicit rule recursion.
    Avoiding implicit rule recursion.
    Trying pattern rule with stem `makefile'.
    Trying implicit prerequisite `makefile.r'.
    Trying pattern rule with stem `makefile.f'.
    Trying implicit prerequisite `makefile.f,v'.
    Trying pattern rule with stem `makefile.f'.
    Trying implicit prerequisite `RCS/makefile.f,v'.
    Trying pattern rule with stem `makefile.f'.
    Trying implicit prerequisite `RCS/makefile.f'.
    Trying pattern rule with stem `makefile.f'.
    Trying implicit prerequisite `s.makefile.f'.
    Trying pattern rule with stem `makefile.f'.
    Trying implicit prerequisite `SCCS/s.makefile.f'.
    Trying pattern rule with stem `makefile'.
    Trying implicit prerequisite `makefile.r'.
    Looking for a rule with intermediate file `makefile.r'.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Avoiding implicit rule recursion.
     Trying pattern rule with stem `makefile'.
     Rejecting impossible implicit prerequisite `makefile.l'.
     Trying pattern rule with stem `makefile.r'.
     Trying implicit prerequisite `makefile.r,v'.
     Trying pattern rule with stem `makefile.r'.
     Trying implicit prerequisite `RCS/makefile.r,v'.
     Trying pattern rule with stem `makefile.r'.
     Trying implicit prerequisite `RCS/makefile.r'.
     Trying pattern rule with stem `makefile.r'.
     Trying implicit prerequisite `s.makefile.r'.
     Trying pattern rule with stem `makefile.r'.
     Trying implicit prerequisite `SCCS/s.makefile.r'.
   Trying pattern rule with stem `makefile'.
   Rejecting impossible implicit prerequisite `makefile.r'.
   Trying pattern rule with stem `makefile'.
   Trying implicit prerequisite `makefile.s'.
   Looking for a rule with intermediate file `makefile.s'.
    Avoiding implicit rule recursion.
    Avoiding implicit rule recursion.
    Trying pattern rule with stem `makefile.s'.
    Trying implicit prerequisite `makefile.s,v'.
    Trying pattern rule with stem `makefile.s'.
    Trying implicit prerequisite `RCS/makefile.s,v'.
    Trying pattern rule with stem `makefile.s'.
    Trying implicit prerequisite `RCS/makefile.s'.
    Trying pattern rule with stem `makefile.s'.
    Trying implicit prerequisite `s.makefile.s'.
    Trying pattern rule with stem `makefile.s'.
    Trying implicit prerequisite `SCCS/s.makefile.s'.
   Trying pattern rule with stem `makefile'.
   Trying implicit prerequisite `makefile.mod'.
   Looking for a rule with intermediate file `makefile.mod'.
    Avoiding implicit rule recursion.
    Avoiding implicit rule recursion.
    Trying pattern rule with stem `makefile.mod'.
    Trying implicit prerequisite `makefile.mod,v'.
    Trying pattern rule with stem `makefile.mod'.
    Trying implicit prerequisite `RCS/makefile.mod,v'.
    Trying pattern rule with stem `makefile.mod'.
    Trying implicit prerequisite `RCS/makefile.mod'.
    Trying pattern rule with stem `makefile.mod'.
    Trying implicit prerequisite `s.makefile.mod'.
    Trying pattern rule with stem `makefile.mod'.
    Trying implicit prerequisite `SCCS/s.makefile.mod'.
  Trying pattern rule with stem `makefile'.
  Rejecting impossible implicit prerequisite `makefile.c'.
  Trying pattern rule with stem `makefile'.
  Rejecting impossible implicit prerequisite `makefile.cc'.
  Trying pattern rule with stem `makefile'.
  Rejecting impossible implicit prerequisite `makefile.cpp'.
  Trying pattern rule with stem `makefile'.
  Rejecting impossible implicit prerequisite `makefile.p'.
  Trying pattern rule with stem `makefile'.
  Rejecting impossible implicit prerequisite `makefile.f'.
  Trying pattern rule with stem `makefile'.
  Rejecting impossible implicit prerequisite `makefile.r'.
  Trying pattern rule with stem `makefile'.
  Rejecting impossible implicit prerequisite `makefile.s'.
  Trying pattern rule with stem `makefile'.
  Rejecting impossible implicit prerequisite `makefile.mod'.
  Trying pattern rule with stem `makefile'.
  Trying implicit prerequisite `makefile.sh'.
  Looking for a rule with intermediate file `makefile.sh'.
   Avoiding implicit rule recursion.
   Trying pattern rule with stem `makefile.sh'.
   Trying implicit prerequisite `makefile.sh,v'.
   Trying pattern rule with stem `makefile.sh'.
   Trying implicit prerequisite `RCS/makefile.sh,v'.
   Trying pattern rule with stem `makefile.sh'.
   Trying implicit prerequisite `RCS/makefile.sh'.
   Trying pattern rule with stem `makefile.sh'.
   Trying implicit prerequisite `s.makefile.sh'.
   Trying pattern rule with stem `makefile.sh'.
   Trying implicit prerequisite `SCCS/s.makefile.sh'.
  No implicit rule found for `makefile'.
  Finished prerequisites of target file `makefile'.
 No need to remake target `makefile'.
Updating goal targets....
Considering target file `build'.
 Finished prerequisites of target file `build'.
No need to remake target `build'.
make: `build' is up to date.

您的環境缺少在 makefile 中用於確定目標可執行文件名稱的程序uname 如果您通過 Cygwin 安裝uname ,它將成為環境的一部分。

您的選擇:

  • 安裝uname ,例如通過安裝 Cygwin 環境
  • 替換 makefile 中uname的使用,例如用硬編碼的TARGET=3DSController.exe

事實證明,嘗試在 Windows 命令行中運行 MingW32 並不是一個好主意。 如果有人遇到缺少程序“uname”的問題,那是因為您需要在名為“msys.bat”的 MingW“shell”中運行 function。 更多詳情請參考本網站: http://www.mingw.org/wiki/getting_started

根據您的 makefile 和構建基礎設施,您可能需要像 Cygwin 或 Msys 這樣復雜的東西。 但是對於許多簡單的應用程序,您甚至不需要它。 除了“make”之外,您只需要“coreutils”就可以 它提供 uname 和其他東西,因此您可以在普通的 windows CMD 終端中運行“make”。 您還可以從小型的單個工具中受益,例如 awk、sed 等……從 GnuWin32 和ezwinports中挑選。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM