2016-07-26 5 views
0

私はWindowsサーバ8に「Project.c」という名前のc-project /ファイルを持っています。そして、コンピュータ上でコンパイルして実行できます。コンパイル/ビルドのコマンド。任意のコンピュータ上で実行されるC-Excutable/Setupファイルを作成する

gcc -o myexcutable Project.c external_libraries 

:、lpthreadlpcreなど...

そして:$./myexcutable

を実行しますが、今、私は他に(のみ)私の実行可能ファイルを選択します:-externalライブラリは、のようなライブラリです「セットアップ」として計算します。その後、私は実行可能ファイル/セットアップを開始すると、実行する必要があります!しかしそれはしません。私の質問は、Windowsサーバー8で実行される実行可能ファイルを作成する方法はありますか?ありがとう。

Edit[1]:基本的に、私は "PC /コンピュータ" を言うとき、そのA Windowsサーバ8(同じOS)

Edit[2]:エラーが取得しています、と言う:The program can't start because cygwin1.dll is missing from your computer. Try reinstalling the program to fix this problem.

+0

PCにLinux、BSD、Macなどが含まれていると仮定すると、それは不可能です。それらのすべてには、少し異なるシステムコール、異なるバイナリローダなどがあります。あなたができることは、標準のC/C++に固執し、それぞれをコンパイルして特定のバイナリを配布することです。 – Xarn

+1

'GCC Cross-Compiler'のインターネット検索をおこなう興味深いリンクは次のようなものです:https://en.wikipedia.org/wiki/Cross_compiler – 4386427

+0

@Xarn:返信してくれてありがとうございます。サーバー8を勝つ)、それは私のために働かない。 – kahsay

答えて

0

すべてのアーキテクチャは、A動作するのでほとんど違いはありませんが、基本的に不可能です。できることは、ライブラリを静的にリンクすることです。また、他のPCに同じアーキテクチャとオペレーティングシステムがあれば動作するはずです。 静的にリンクするライブラリはそうのように-staticオプションを使用します。

gcc -o myexcutable Project.c -static external_libraries 

別の解決策は、セットアップの多くの異なるバージョンをコンパイルし、各PCごとに異なるものを使用することです。

関連する問題