GitHubからダウンロードしたWindowsプログラム(Cで作成)をインストールするにはどうすればよいですか?


44

GitHubから単純なWindowsプログラムをダウンロードしました(関連がある場合はこれです)。ZIPファイルとしてダウンロードしましたが、インストール方法がわかりません。Cで書かれていると思います。コンパイラが必要ですか?(Visual Studio?)私が見逃している簡単なものはありますか?


9
申し訳ありませんが、これは明らかに私が抱えている主要なnoobの問題です。どうやって?実行可能ファイルはありません。
ジョシュフリードランダー

6
プログラムをコンパイルするには、おそらくWindows SDKと関連するCヘッダーが必要です。通常、依存関係が記載されており、コンパイル手順がReadmeに含まれています。この場合、どちらも含まれないため、リポジトリの所有者/プロジェクトの作成者に関連情報の取得を依頼する必要があります。
ラーセンド

7
コンパイラが必要です。私は開発者に手を差し伸べて、それを構築する方法を尋ねます。通常、たとえば、ソースとして提供されるLinuxソフトウェアにはビルド手順が含まれていますが、彼のGithubには何も表示されません。
ローレンス

12
実際のプログラムをダウンロードしたのではなく、プログラムのソースをダウンロードしたので、最初にコンパイルする必要があります。そこのmakefileから判断すると、MINGWにあるものは何でもビルドする必要があります。
木梅

21

回答:


29

Githubは、主にプログラマーがプロジェクトで共同作業するために使用されます。[ZIPのダウンロード]オプションは、ソースコードのコピーをコンピューターにダウンロードします。これは通常、1コンパイルされ、使用可能な実行ファイル/バイナリのコピーが含まれていない(つまり、EXEファイル)

Releasesは、ソフトウェアをエンドユーザー(通常は実際のコーディングに関心がない)に出荷するためのGithub機能です。リリースには、リリースノートと、ソフトウェアまたはソースコードをダウンロードするためのリンクが付属しています。これは、バイナリを確認する最初の場所です

あなたの場合、リリースページにはダウンロードとセットアップファイルがあります。

ただし、多くのプロジェクトにはリリースがありません(特にWindows用ではありません)。その場合、次のいずれかを実行できます。

  1. インターネット上の他の場所でバイナリを検索します。通常、DuckDuckGo(または必要に応じてGoogle)のような検索エンジンは、必要なものを簡単に見つけます。<application name> for Windowsまたはを検索してみてください<application name> exe

  2. 自分でコンパイルします。そのためには、少なくともプログラミング言語の基本的な知識が必要です。ここでも、検索エンジンは非常に役立ちます。compile <application name> on Windowsまたはを検索してみてくださいMinGW compile <application name>

    ここでは、Widnowsのユーティリティのコンパイルの基本について説明します。

    • MinGWをダウンロードします。私は個人的にこのパッケージが好きです。なぜなら、このパッケージにはブースト(いくつかのアプリケーションが使用する)とクールなシェルが付属しているからです。また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++。残りは多かれ少なかれ同一です
      • 適切に動作する実行可能ファイルをコンパイルするために、さらにコマンドライン引数を指定する必要があることに注意してください。通常、プロジェクトページにはこれらの詳細があります。
      • また、おそらくメイクファイルを確認する必要があります。この Stack Overflowの投稿は、一般的なメイクファイルに関するものであり、これはMinGWでそれらを使用する方法を示しています。プロジェクトにメイクファイルが付属している場合は、ソースを手動でコンパイルする前に試してください。
      • これで実行できるはずhelloworld.exeです。
    • 注:ほとんどのプロジェクトにはREADMEファイルが付属しています。名前が示すとおり、これらのファイルにはソフトウェアのコンパイルと実行に関する重要な情報が含まれており、それを読むことで多くの不要な手間を回避できます。

1注:binダウンロードしたファイルの中に、使用可能な実行可能ファイル/バイナリを含むフォルダーが呼び出される場合があります

WindowsでGNU / Linuxコマンドラインユーティリティが必要な場合は、CygwinGOWも参照してください。ここからダウンロードできるいくつかの便利な実行可能ファイルの最新バージョンを作成します

さらに読む:
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


おかげで、これは素晴らしい答えであり、私はそれを決定的なものとしてマークされるように変更しました。(これは私が探していたものであることを明確にするために以前に質問を編集しましたが、何らかの理由でBoundaryImpositionが編集しました。)
ジョシュフリードランダー

しかし、Aibobotの報奨金の要求を満足させるとは思わないが、それはあなたと彼の間にある。
ジョシュフリードランダー

2
@JoshFriedlander助けてくれて嬉しい!後で答えに追加します...うん、JourneymanGeek(Aibobot)とおしゃべりしていました。彼は新しい答えが出てくるまで数日待ちます。
rahuldottech

1
このプロジェクトには何もないかもしれませんが、ほとんどのプロジェクトにはおそらく依存関係があることに注意してください。つまり、コンパイルルートに進む場合は、ソフトウェアが依存しているライブラリを追跡し、ダウンロードしてインストールする必要があります(またはそれらもコンパイルします)。通常、単にmakefileを実行するほど簡単ではありません。それらのいくつかは、cmake、configureスクリプトなどの他のビルドスクリプトさえ持っているかもしれません。
jrh17年

2
ほとんどの場合、プロセスは本当に簡単ですか?githubユーティリティのどの部分をコンパイルするために、ここで説明したよりもはるかに多くの知識が必要ですか?
gaazkam

87

周りを見て、リリースページでインストーラを見つけます。確かにソースをコンパイルできますが、それはあなたが望むものではないと思います。


49
同意した。質問する必要がある場合は、ソースからコンパイルする必要はありません。
サンダー

10
あなたが依頼している場合、あなたはおそらくないはず ...ソース形式でのみ利用可能だソフトウェアインストールする
jpaugh

11
私は@jpaughに同意する傾向があります。ソースからビルドすることは非常に可能であり、時には必要ですが、一般的な方法で「Cプログラムをビルドする方法」を尋ねることができるものではありません。ばらつきが大きすぎます。一部の幸運なプログラムは、「これらのファイルをコンパイルする」のと同じくらい簡単です。その他にはメイクファイルが必要です。最初に依存関係をダウンロードする必要があるものもあります。ビルドの設定プロセスは複雑になる可能性があり、必ずしもプログラマーに優しいとは限りません。ただし、何よりも、特定のプロジェクトに依存するため、プロジェクト内でビルド方法を説明するファイルを検索する必要があります。
キャット

35
@jpaugh-実行可能ファイルをダウンロードすることで、マルウェアをインストールする可能性がはるかに高いと思います-マルウェアはめったにオープンソースではありません。
名前のある

3
実際に言語を読むことができると仮定します。私はLinux上で半定期的にものをコンパイルしますが、ソースを読むことができません。できたとしても、every.single.lineをレビューするつもりはありません。
ジャーニーマンオタク

66

.cおよび.hファイルはCソースコードです。

Visual Studio、tccなどのCコンパイラをインストールし、プロジェクトをロードしてから、コンパイルして実行する必要があります。

それに失敗すると、プロジェクトにはリリースページ(ここ)があり、事前にコンパイルされたバージョンにアクセスして時間と労力を節約できます。


14
彼がそれをコンパイルしなければならなかった場合、それは通常readmeで説明されていました。彼はリリースページに行くことを意図しており、それは「失敗(コンパイラをインストールする)だけでなく、リリースページに行くべきです」
-barlop

3
mingwも人気です。
ザンリンクス

1
通常、特定のプロジェクトは、特定のコンパイルツールセット(「ツールチェーン」と呼ばれる)で使用するように調整されます。これは通常、readmeファイルに記載されています(UNIXおよびクロスプラットフォームプロジェクトでは、通常BUILDまたはINSTALLという名前が付けられます) 。恒星的に維持されていないプロジェクト、または少数の有名なツールチェーンのみの環境向けのプロジェクトでは、ユーザーはプロジェクトファイルの形式やコンテンツから推測することになっています。
ivan_pozdeev

TCC?本当に?あなたは本気ではありませんでしたか?
ヤシャ

18

この回答は、ソースのみのWindowsアプリケーション(C)を構築するという一般的な質問に対処するものです。OPのように幸運であれば、プリコンパイルされたバイナリを見つけることができるかもしれません。

ここで最初に知っておくべきことは、ソースからアプリをビルドする単一の方法はないということです。さまざまなプロジェクトとほぼ同じ数のバリエーションがあります。ただし、一般的な手順は次のとおりです。

  1. 運が良ければ、プロジェクトは通常READMEファイル内でビルド手順を提供します。場合によっては、INSTALLファイルや他のドキュメントも利用できる場合があります。それらが利用可能な場合は、指示に従ってください。彼らはあなたの最善の策です。

    他の人が言ったように、残念ながら、指示なしに必要なビルド手順を再構築することは非常に困難です。ただし、少なくともここではベストエフォートの試みを行うことができます。これは、ほとんどの単純なプロジェクトで機能します。

  2. 指示がないため、次の呼び出しは、どのビルドツールが必要かを確認することです。

    1. .slnまたは.vcxproj拡張子を持つファイルが見つかった場合、これはおそらくMSBuild / Visual Studioプロジェクトです。Visual Studio CommunityまたはExpress(C ++用)のコピーをダウンロードし、そこでプロジェクトファイルを開き、ツールバーの再生ボタンをクリックします(またはビルドメニューを使用します)。

    2. を見つけた場合Makefile、これはおそらく必要になりますmake。しかし、これは物事がさらに難しくなる場所です。なぜなら、を使用する独立した互換性のないシステムが非常に多いからmakeです。

      1. Windowsを対象としているため、おそらくMinGWを使用するでしょう。そのコピーをダウンロードし、スタートメニューからMSYSを起動しcd、プロジェクトを含むディレクトリに移動()し、実行しmakeます。

      2. まれに、それがCygwinである場合(残念ながら、簡単な方法はありませんが、MinGWが「posix」関連のエラーでエラーをビルドする場合、これはまともな賭けです)、代わりにCygwinをインストールする必要があります。残念ながら、これはネイティブのWindowsバイナリをビルドしません-毎回Cygwinを介してプログラムを起動する必要があります。

    3. 「ビルドツール」は、名前build.batまたは類似のカスタムスクリプトにすることができます。この場合、ファイルを開いて中身を確認するか、実行してエラーの内容を確認する必要があります。開いての言及が表示されている場合はGCC、2.2.1に戻ってください。MinGWステップ。ただし、ではなくカスタムスクリプトを実行しますmake

  3. ビルドツールがまったくない可能性があります。遭遇するのが単一.cまたは.cppファイルだけである場合は、おそらく、単純なコンパイルを実行できるほど簡単です。繰り返しますが、これらはほとんど常にMinGWなので、ダウンロードしてMSYSシェルを起動し、ディレクトリに移動して、必要に応じて、gccまたはg++必要に応じて呼び出します。たとえば、gcc -o program.exe program.c

  4. これらのいずれも機能しない可能性があります。いずれかのステップでエラーメッセージが表示された場合は、不足しているものの手がかりが含まれている場合があります。1つの可能性は、特定の必要なフレームワークまたはライブラリが不足していたことです-それに気がついたら、それらをダウンロードしてビルド環境に追加してみてくださいが、これは通常簡単なプロセスではなく、非常に多くのバリエーションがあり回答でそれらをカバーする方法。


用語集

ビルドツール

ビルドツールを使用すると、非常にいくつかのコマンドを使用してプロジェクトを構築することができます。複数のソースファイルを持つほとんどのプロジェクトでは、ビルドツールがどこかに関与します。いくつかのビルドツールがありますが、最も一般的なものは次のとおりです。

  • makeは、Linuxではどこでも使用され、Windowsではますます一般的になりました。を使用しているプロジェクトmakeは、通常、の存在によって識別できMakefileます。

  • MSBuildはWindows固有であり、通常はVisual Studioと組み合わせて表示されます。通常、これらには*.slnor *.vcxprojファイルが付随します。

ツールチェーン

ツールチェーンは、コンパイラやサポートツールです。ビルドツールと同じように、いくつかあり、通常はいずれかのビルドツールで使用されます。

  • MSVCはMicrosoftのツールチェーンです。これは、Windowsネイティブ開発用の最も一般的なツールチェーンです。これは通常、MSBuildシステムで使用され、ビルドは通常Visual Studioを介して作成されます。ただし、最新のMSVCプロジェクトで使用Makefileできます。

  • GCCMinGW)は、Windows用のGCCのポートです。通常はで使用しmakeます。プロジェクトがネイティブにWindowsを対象としているMakefile場合、それはおそらくMinGW-GCC向けです。

  • GCCCygwin)はPOSIX互換環境を作成します。これにより、LinuxまたはUnix用に作成されたほとんどのプログラムを直接コンパイルし、Windowsで直接動作させることができます。最近のWindows 10 では、Windows上のUbuntuでのBashが代替手段です。通常、GCCはと組み合わせて使用​​されmakeます。

フレームワークとライブラリ

ライブラリは、他の人によって書かれた再利用可能なコードのセットであり、多くのプログラムは車輪の再発明を避けるために依存しています。プロジェクトをビルドするには、これらの依存関係を使用可能にする必要があります。運が良ければ、それらは最初のダウンロードに含まれますが、これは常にそうではありません。

フレームワークは、事実上ライブラリのコレクションです。多くのプロジェクトは1つのフレームワークを使用しますが、これも必要です。これらには多くの場合、独自のビルドシステムが付属していますが、すべてをリストすることは不可能です。

最も難しいのは、余分なフレームワークとライブラリの依存関係を扱うことです。たとえば、プロジェクトでQtを使用している場合は、適切にビルドするためにその混乱全体が必要になります。これは非常に大きな仕事であり、以前の経験がない限り、ここで直接他の人に直接助けを求めることをお勧めします。


1
この特定のケースでは、メイクファイルは、最初の行がmingwであるという良い手がかりを提供しますMINGW_PREFIX = $(shell which gcc | awk -F/bin/ '{ printf $$1 }'):)
DavidPostill

1
これは報奨金に値する
-tbodt
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.