我从 GitHub 下载了一个非常简单的 Windows 程序(这如果相关的话)。我将其下载为 ZIP 文件,但我不知道如何安装它。我认为它是用 C 编写的。我需要编译器吗?(Visual Studio?)我是否遗漏了一些简单的东西?
答案1
Github 主要供程序员协作项目。“下载 ZIP”选项会将源代码副本下载到您的计算机。这通常1不包含已编译的可用可执行文件/二进制文件(即 exe 文件)的副本
发行,是 Github 的一项功能,用于将软件发送给最终用户(通常对实际编码不感兴趣)。发布会附带发布说明和下载软件或源代码的链接。这是你应该检查二进制文件的第一个地方。
就你的情况而言,发布页面提供下载和安装文件。
但是,许多项目不会有任何发布(尤其是 Windows 版本),在这种情况下您可以执行以下操作之一:
在互联网上搜索二进制文件。通常搜索引擎喜欢DuckDuckGo(或者谷歌(如果您愿意)将轻松找到您想要的内容。尝试搜索
<application name> for Windows
或<application name> exe
。自己编译一下。您需要至少具备一些编程语言的基本知识才能做到这一点。同样,搜索引擎可以大规模地有帮助。请尝试搜索
compile <application name> on Windows
或MinGW compile <application name>
。这里我将介绍为 Widnows 编译实用程序的基础知识:
下载明网. 我个人赞成这软件包,因为它带有 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++ 的说明。如果您正在处理用 C 编写的应用程序,则文件扩展名将代替
.c
,.cpp
并且您应该使用gcc
命令代替g++
。其余部分大致相同 - 请注意,您可能需要指定更多的命令行参数才能编译出正常工作的可执行文件。项目页面通常会有这些详细信息。
- 您
可能还肯定想研究一下 makefile。这Stack Overflow 上的帖子主要讲的是 makefile,这个告诉我们如何与 MinGW 一起使用它们。如果项目带有 makefile,请在手动编译源代码之前尝试一下。 - 您现在就可以运行了
helloworld.exe
。
- 笔记:大多数项目都附带一个 README 文件。请按照其名称所暗示的方式操作,这些文件包含有关编译和运行软件的重要信息,通过阅读它可以避免很多不必要的麻烦。
1注意:有时下载的文件中可能会有一个名为的文件夹bin
,其中包含可用的可执行文件/二进制文件
另请参阅赛格威和九州如果您想在 Windows 上使用 GNU/Linux 命令行实用程序。我提供了一些有用的可执行文件的最新版本供下载这里。
进一步阅读:
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-run-configure-with-mingw
答案2
你环顾四周,发现安装程序在发布页面。当然你可以编译源代码,但我不认为那是什么你想要的。
答案3
.c 和 .h 文件是 C 源代码。
您需要安装一个 C 编译器(例如 Visual Studio、tcc 或类似的东西),加载项目,然后编译它以运行它。
除此之外,该项目还有一个发布页面(这里) 将使您可以访问预编译版本,从而节省您的时间和精力。
答案4
此答案将解决构建纯源代码 Windows 应用程序(使用 C)的一般问题。如果您像 OP 一样幸运,您可能能够找到预编译的二进制文件。
首先要注意的是,从源代码构建应用程序的方法不止一种。不同的项目数量大致相同,因此存在多种变体。话虽如此,以下是一些常规步骤:
如果幸运的话,项目通常会在
README
文件中提供构建说明。有时,可能还会INSTALL
提供文件或其他文档。如果有这些,请按照说明操作。它们是你最好的选择。正如其他人所说,不幸的是,如果没有说明,很难重建所需的构建步骤。但是,我们至少可以尽最大努力尝试,这对大多数简单项目都有效。
由于缺少说明,下一步要做的就是检查需要哪个构建工具。
.sln
如果您找到带有或扩展名的文件.vcxproj
,则这可能是 MSBuild/Visual Studio 项目。下载Visual Studio 社区或 Express(适用于 C++),打开其中的项目文件,然后单击工具栏中的播放按钮(或使用构建菜单)。如果您找到
Makefile
,则可能需要make
。但事情变得更加困难,因为有太多独立且不兼容的系统使用make
。“构建工具”可能是名为
build.bat
或类似名称的自定义脚本。在这种情况下,您必须打开它并查看其中的内容,或者尝试运行它并查看错误是什么。如果您打开它并看到 的提及GCC
,请返回 2.2.1. MinGW 步骤,但运行自定义脚本而不是make
。
可能根本没有构建工具。如果您遇到的只是一个
.c
或.cpp
文件,那么它可能很简单,您可以直接进行编译。同样,这些几乎总是明网,因此请下载它,启动 MSYS shell,导航到目录,然后根据需要调用gcc
或——例如g++
gcc -o program.exe program.c
这些方法可能都不起作用。如果您在任何步骤收到错误消息,它们可能包含缺少内容的线索。一种可能性是您缺少某些必需的框架或库 - 如果您愿意,您可以尝试下载它们并将它们添加到您的构建环境中,但这通常不是一个简单的过程,并且有太多变化,无法在答案中涵盖它们。
词汇表
构建工具
A构建工具允许您使用很少的命令构建项目。对于大多数包含多个源文件的项目,构建工具将在某些地方使用。有几种构建工具,但最常见的是:
制作,在 Linux 上随处可见,在 Windows 上也越来越常见。使用 的项目
make
通常可以通过Makefile
。微软Build是 Windows 特有的,通常与 Visual Studio 结合使用。这些通常伴随着
*.sln
或者*.vcxproj
文件。
工具链
A工具链是编译器和支持工具。与构建工具一样,也有几个,它们通常与其中一种构建工具一起使用。
微软虚拟公司是微软的工具链。这是 Windows 原生开发最常用的工具链。这通常与 MSBuild 系统一起使用,并且通常通过 Visual Studio 创建构建。但是,现代 MSVC 项目能也使用
Makefile
。海湾合作委员会(明网) 是 GCC 的 Windows 移植版。通常与 一起使用
make
。如果项目本身面向 Windows 并且有Makefile
,则它很可能适用于 MinGW-GCC。海湾合作委员会(赛格威)创建了一个与 POSIX 兼容的环境。这允许您直接编译为 Linux 或 Unix 编写的大多数程序,并使其直接在 Windows 下运行。最近在 Windows 10 中,Windows 上的 Ubuntu 上的 Bash是一种替代方案。GCC通常与 一起使用
make
。
框架和库
图书馆是其他人编写的可重用代码集,许多程序都依赖这些代码集来避免重复造轮子。您需要有这些依赖项才能构建项目。如果您很幸运,它们将包含在您的初始下载中,但情况并非总是如此。
构架实际上是库的集合。许多项目使用一个框架,您也需要这个框架。这些框架通常也带有自己的构建系统,但将它们全部列出是不可能的。
最难的部分是处理额外的框架和库依赖关系。例如,如果项目使用Qt——那么你需要整个混乱局面才能正确构建它。这是一项艰巨的任务,除非你之前有经验,否则最好直接向其他人寻求帮助。