我已经下载从GitHub死简单的Windows程序(这个如果是相关的)。我将其下载为ZIP文件,但无法弄清楚如何安装。我认为它是用C编写的。我需要编译器吗?(Visual Studio?)我缺少一些简单的东西吗?
我已经下载从GitHub死简单的Windows程序(这个如果是相关的)。我将其下载为ZIP文件,但无法弄清楚如何安装。我认为它是用C编写的。我需要编译器吗?(Visual Studio?)我缺少一些简单的东西吗?
Answers:
Github主要供程序员用于项目协作。“下载ZIP”选项会将源代码的副本下载到您的计算机上。这通常1不包含编译的可执行文件可用的拷贝/二进制文件(即; exe文件)
Releases是Github的一项功能,用于将软件运送给最终用户(通常对实际编码不感兴趣的最终用户)。发行随附发行说明和下载软件或源代码的链接。这是您应检查二进制文件的第一位。
就您而言,发布页面提供下载和设置文件。
但是,许多项目将没有任何发行版(尤其是对于Windows没有发行),在这种情况下,您可以执行以下任一操作:
搜索Internet上其他位置的二进制文件。通常,DuckDuckGo之类的搜索引擎(或Google,如果愿意的话)会很容易找到想要的东西。尝试搜索<application name> for Windows
或<application name> exe
。
自己编译。您需要至少具有一些编程语言的基本知识才能做到这一点。同样,搜索引擎可以提供巨大帮助。尝试搜索compile <application name> on Windows
或MinGW compile <application name>
。
在这里,我将介绍Widnows编译实用程序的基础知识:
下载MinGW。我个人比较喜欢此程序包,因为它带有boost(多个应用程序使用)和一个很酷的shell。它还带有git
,如果您想编译托管在Github或其他Git版本控制存储库上的文件而不必单独下载源代码,则它非常有用。
在cmd
或中运行以下命令powershell
:
cd c:\sources\hello
:将目录更改为源文件所在的位置。g++ helloworld.cpp -o helloworld.exe
:这helloworld.cpp
是主源文件helloworld.exe
的名称,也是编译后的可执行文件的名称。-o
切换之前列出它们:g++ helloworld.cpp foo.cpp -o helloworld.exe
.c
而不是.cpp
,而应使用gcc
命令代替g++
。其余部分大致相同helloworld.exe
。1注意:有时bin
下载的文件中可能有一个名为的文件夹,其中应包含可用的可执行文件/二进制文件
如果要在Windows上使用GNU / Linux命令行实用程序,另请参见Cygwin和GOW。我在此处提供了一些有用的可执行文件的最新版本,以供下载。
进一步阅读:
http : //www.mingw.org/wiki/MinGW_for_First_Time_Users_HOWTO
https://gcc.gnu.org/onlinedocs/index.html#dir
https://stackoverflow.com/questions/22873884/how-do-i用mingw运行配置
您环顾四周,在发行页面上找到安装程序。当然您可以编译源代码,但是我认为这不是您想要的。
.c和.h文件是C源代码。
您将需要安装C编译器(例如Visual Studio,tcc或类似工具),加载项目,然后对其进行编译以运行它。
失败的话,该项目会有一个发行页面(在此处),您可以通过该页面访问预编译的版本,以节省您的时间和精力。
该答案将解决构建仅源Windows应用程序(用C语言编写)的一般问题。如果您像OP一样幸运,则可以找到预编译的二进制文件。
首先要注意的是,没有一种从源代码构建应用程序的方法。大约有与不同项目一样多的变体。也就是说,这是一些常规步骤:
如果幸运的话,项目通常会在README
文件中提供构建说明。有时,可能还会有INSTALL
文件或其他文档可用。如果可用,请按照说明进行操作。他们是你最好的选择。
就像其他人所说的,不幸的是,在没有说明的情况下很难重构所需的构建步骤。但是,我们至少可以在这里做出最大的努力,这将适用于大多数简单的项目。
缺少说明,下一个调用端口是检查所需的构建工具。
如果找到带有.sln
或.vcxproj
扩展名的文件,则可能是MSBuild / Visual Studio项目。下载Visual Studio Community或Express(用于C ++)的副本,在其中打开该项目文件,然后单击工具栏中的播放按钮(或使用生成菜单)。
如果找到一个Makefile
,可能会需要make
。但这是事情变得更加困难的地方,因为有许多使用的独立和不兼容的系统make
。
“构建工具”可以是名称build.bat
或类似名称的自定义脚本。在这种情况下,您必须将其打开并查看内部内容,或者尝试运行它并查看错误所在。如果您打开它并看到提及GCC
,请回到2.2.1。MinGW步骤,但运行自定义脚本而不是make
。
可能根本没有构建工具。如果遇到的只是一个文件.c
或一个.cpp
文件,那么它很简单,可以直接进行编译。同样,它们几乎都是MinGW,因此请下载该文件,启动MSYS Shell,导航至目录,然后根据需要调用gcc
或调用它g++
-例如gcc -o program.exe program.c
这些可能都不起作用。如果您在任何步骤都收到错误消息,则它们可能包含丢失消息的线索。一种可能是您缺少某些必需的框架或库-如果您愿意,可以尝试下载这些框架或库并将其添加到构建环境中,但这通常不是一个简单的过程,并且变化太多,因此没有覆盖答案的方法。
使用构建工具,您可以使用很少的命令来构建项目。对于大多数具有多个源文件的项目,将在某个地方使用构建工具。有几种构建工具,但最常见的是:
make,在Linux上无处不在,在Windows上越来越普遍。使用的项目make
通常可以通过的存在来识别Makefile
。
MSBuild是Windows特定的,通常与Visual Studio结合使用。这些通常会带有*.sln
或*.vcxproj
文件。
一个工具链是编译器和支持工具。就像构建工具一样,有多种工具,它们通常与一种构建工具一起使用。
MSVC是Microsoft的工具链。这是Windows本机开发最常用的工具链。这通常与MSBuild系统一起使用,并且通常通过Visual Studio创建构建。但是,现代MSVC项目也可以使用Makefile
。
GCC(MinGW)是Windows的GCC的端口。通常与一起使用make
。如果该项目本机针对Windows,并且具有Makefile
,则可能是针对MinGW-GCC。
GCC(Cygwin)创建一个POSIX兼容环境。这使您可以直接编译大多数为Linux或Unix编写的程序,并使它们直接在Windows下运行。最近在Windows 10中,Windows 上的Ubuntu上的Bash是替代方法。GCC通常与结合使用make
。
库是其他人编写的可重用代码集,许多程序依赖该库来避免重新发明轮子。您需要具有这些依赖项才能构建项目。如果幸运的话,它们将包含在您的初始下载中,但并非总是如此。
框架实际上是库的集合。许多项目使用一个框架,这也是您需要的。它们通常也带有自己的构建系统,但是将它们全部列出都是不可能的。
最困难的部分是处理额外的框架和库依赖性。如果说该项目使用Qt,那么您将需要整个混乱才能正确构建它。这是一项艰巨的任务,除非您已有经验,否则最好直接向他人寻求帮助。
MINGW_PREFIX = $(shell which gcc | awk -F/bin/ '{ printf $$1 }')
:)