• ベストアンサー

Cソースをexeにコンパイルする

Cソースをexeにコンパイルする http://freenx.berlios.de/download.phpに置いてあるfreenx-X.Y.Z.tar.gzをWindows上で動作するexeにコンパイルしたいのですが、うまくできませんでした。使用しているOSはWindows XPです。 cygwinをインストールしてtar.gzを展開したフォルダまで行き、makeを実行しましたが、以下のようなエラーがでました。 http://pastebin.com/bfQtMFyW この方法でexeにできるのかどうかも分からないのですが、もし別の方法があるなら教えてください。お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.4

> cygwinをインストールしてtar.gzを展開したフォルダまで行き、makeを実行しましたが、以下のようなエラーがでました。 > http://pastebin.com/bfQtMFyW > > この方法でexeにできるのかどうかも分からないのですが、もし別の方法があるなら教えてください。お願いします。 質問の最初にお書きになっているページに(freenx-X.Y.Z.tar.gzの少し下)『Read the building instructions at http://www.nomachine.com/………』と構築方法を説明したページが書かれていますので参照すると良いかと思います。 最初の回答に書かれているようにmakeの前にconfigureを行い導入している環境に適合したMakefileを作り直してもらう必要があるかと思います。 その前に環境変数を設定して共有ライブラリの場所を教えたり(export LD_LIBRARY_PATH=……)必要なソフトを確実に導入しておく必要があるかも知れません。 ※ Cygwinのsetupで導入するソフトを選んだかと思いますが、構築方法の説明を見てKDEやGNOMEなどの構築するソフトで使う部品も導入しておく必要があるかも知れません。 makeだけで構築できるソフトはほとんどないかと思います。 configureなりxmkmf・imakeなりで調整し環境にあったMakefileを作ってmakeを行う(makeを行う前にいくつかの準備作業を行う)のが普通かと思います。 ※ いきなりmakeするソフトの場合にはMakefileを編集して調整する必要がある場合が多いです。 楽しんで挑戦してみてください。

その他の回答 (3)

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.3

> http://freenx.berlios.de/download.phpに置いてあるfreenx-X.Y.Z.tar.gz とありますが、そのURLには複数のバージョンがあります。具体的にどのファイルですか? freeNXについて知らなかったので調べてみたのですが http://www.atmarkit.co.jp/flinux/rensai/linuxtips/926usefreenx.html http://tidus.ultimania.org/wiki/index.php?FreeNX サーバーにしたLinuxを他のマシン(Windows等)から操作するためのものようです。 つまり ・サーバーをコンパイルできたところで、Windowsで動作するかわからない。 動かせたとしても、Cygwin(+X Window)での動作であって、Windowsそのものを操作できるわけではない → 試しにコンパイルしましたが、そのエラーログを出すのは、サーバーの方でした。 ・クライアントを使いたいのなら、Windows版のクライアントがあるので、コンパイルする必要は無い ということになるのでは、と思います。

one-eyed
質問者

補足

ありがとうございます。 Official FreeNX Server Packagesのセクションにあるやつです。 そのソースをWindowsでコンパイルしてWindowsをサーバーとして使いたいと思っています。 クライアントでwindows版があるのは知っています。 > 動かせたとしても、Cygwin(+X Window)での動作であって、Windowsそのものを操作できるわけではない 分かりました。ありがとうございます。

回答No.2

configureかけましたか?

  • DIooggooID
  • ベストアンサー率27% (1730/6405)
回答No.1

ヘッダファイルが無い、ということですが、エラーメッセージに出力されている ヘッダファイルはどこに配置しましたか? というよりも、ヘッダファイルがどこにあるか、コンパイラに明示しましたか?

one-eyed
質問者

補足

Cはあまり触ったことがないので分からないのですが、ヘッダファイルの場所はMakeFileに書かなければいけないのでしょうか? ソースファイルにMakeFileが入ってたのでそれをmakeと入力して実行しただけです。

関連するQ&A

  • cygwin1.dll を必要としないCのexeファイルを作りたいです

    はじめまして、shigure2005と申します。 私は普段UNIX上でC言語のプログラムを書いているのですが、 わけあってWindows上で動くようにする必要が出てきました。 そのプログラムをそのままcygwinでコンパイルしたところ コンパイルでき、実行ファイルも問題なく実行できたのですが、 このままですとcygwin1.dllが必要になってしまいます。 ですので、これがなくてもすむような別のコンパイル方法を 教えていただければと思ったしだいです。 過去ログを探って、MinGWについては試してみたのですが、 コンパイルは問題なく通るのに、なぜか実行ファイルを 実行すると、うまく起動できません。Mingwは以下のファイルを ダウンロードしてインストールしました。 mingw-runtime-3.8.tar.gz mingw-utils-0.3.tar.gz MinGW-4.1.1.exe w32api-3.3.tar.gz binutils-2.15.91-20040904-1.tar.gz mingw32-make-3.80.0-3.exe PATHは「C:\mingw/bin;C:\cygwin/bin」の順に通していて、 コマンドプロンプトでコンパイルし、コンパイル後、 コンパイルに用いたdllがcygwin1.dllでないのを確認して います。また、helloworldなど簡単なプログラムなら、 Mingwでもうまくコンパイルできてます。cygwinとMingwで コンパイル性能に大きな差などがあるのでしょうか? また、cygwinだけでも、Mingw-runtimeをインストール すれば、cygwin1.dllを必要としない形式にコンパイル できるという話を聞いたのですが、ご存知の方が いらしたら教えてください。 どうぞよろしくお願いします。

  • gcc-2.95.3.tar.gz等をコンパイルしてインストールしたいのですが

    Linux初心者です、すいません。m(__)m make-3.80.tar.gz binutils-2.14.tar.gz gcc-2.95.3.tar.gz gcc-g++-2.95.3.tar.gz glibc-2.3.4.tar.gz これらのパッケージをコンパイルしインストールしたいのですが何から始めたらよいでしょうか・・・? ご教授おねがいいたします。

  • ソースからmakeをインストール。どうすれば?

    こんばんわ。 ただいま、sparcマシンでサーバを構築している最中ですが、 ソースからmakeをインストールする方法がよくわかりません。 $ wget ftp://sunsite.tus.ac.jp/pub/archives/gnu/make/make-3.80.tar.gz $ tar -xvzf make-3.80.tar.gz $ cd make-3.80 $ ./configure --prefix=/usr/local $ make の後、パッケージ版のmakeをアンインストールする $ su Password:******** # pkgrm SMCmake ところまではうまくいったのですが、 「ソース内にあるmakeを使ってインストールする」という部分がよくわかりません。 どのmakeコマンドを使えばよろしいのでしょうか? findコマンドをみたのですが、思い当たるコマンドはありませんでした。 ご教授のほどお願いします。

  • ソースコードのコンパイルについて

    ソースコードのコンパイルについて よくソースコードだけしか公開されていないソフトを見かけますが、これらはWindows, Mac, LinuxそれぞれでコンパイルすればそれらのOSで動くようになるのでしょうか?例えばCで書かれたソースコードをWindowsでコンパイルすればexeに自動的にコンパイルされ、MacでコンパイルすればMac用のバイナリに自動的にコンパイルされるのでしょうか? またMacにはLinuxのシェルがあったと思うのですが、MacでコンパイルしたものはLinuxで動きますか?またその逆はできるのでしょうか。

  • cd samba-2.2*/sourceがない?

    初歩的な質問ですみません。 samba-2.2.2-ja-1.0.tar.gzをWin98でダウンロードし、 ftpからsendコマンドでLinux(Red Hat7.1)へ送信。 (デュアルブートではありません。2台のマシンです) tar xvzf samba-2.2.2-ja-1.0.tar.gz と展開して lsでsamba-2.2.2-ja-1.1を見ると docs しかありません。 インストールの手引きにはsourceへ移動とあるのですが・・・ win98経由が悪いのでしょうか? どなたかsourceが出る正しい方法を教えてください。 お願いします。

  • EXEとソースで動かすのとではEXEで動かす方が断然早い?

    VisualBasic6でソースを動かすのと コンパイルしてEXE形式で動かすのでは、 多分EXEの方が早いと思うのですが、 全然スピードが違うと言うことはありえるのでしょうか? 例えば、処理完了まで2時間~3時間もスピードが変わることは あるのでしょうか?処理はデータベースを更新、参照したりするものです どなたか教えて下さい。 windows2000 vb6 sp5

  • Rubyを使っての tar.gz ファイルの解凍

    いつも、お世話になります。 今現在、cygwin環境下で、tar.gzファイルを解凍しています。 コマンドとしては、 gunzip -d xxxx.tar.gz tar -xvf xxxx.tar これを、Rubyを使って、やりたいと考えています。 方法は、あるのでしょうか? 元々、UNIX環境下で作成されたデータを、PC上のcygwinで解凍、ついでに テキスト処理(shellscript+perl)も実施しております。 gzファイル、tarを解くexeは、きっとどこかにあると思いますので、 rubyに期待するのは、外部コマンドとしての exeを実行できることです。 宜しく、サジェスチョンをお願いいたします。

  • LINUXでコンパイルができません

    RedHat6.2と7.0をつかっているのですが、tar.gz形式のソフトをダウンロードして、解凍するところまでは出来るのですが、makeコマンドを使ってコンパイルしようとすると、始めは、makeなんてない!って言われてこりゃいかんと思い、インストールディスクに入ってたmakeのRPMパッケージをインストールしてやってみたところ、今度はgccがないぞ!と言われて、「へ?それもいるの?」という感じで、パッケージを探したところ、入ってなくて仕方なくネット上を捜し歩いたら、rpmパッケージを発見したので、それをインストールしたのですが、それで実行すると、最後の最後で、エラーが出て、結局コンパイルできませんでした。これではなんにもソフトがインストールできません。どなたかアドバイスをお願いします。因みに今は、自宅ではないのでエラーメッセージがわかりません。帰ってからコメントしておきます。

  • configure error

    WindowsXPのパソコンの環境で、Cygwinをインストールした後GNU Make(make-3.80.tar.gz)をインストールしているところです。make-3.80.tar.gzは解凍できましたが、./configureしたところ、"configure: error:no acceptable C compiler found in $PATH"というエラーが出ました。どうすればいいんですか?

  • ソースからコンパイルしたPHPを削除し、RPMのほうを有効化

    ソースからコンパイルしたPHPを削除し、RPMにてインストールしたPHPのほうを有効化させたいと考えております。 現状は、両方インストールした状態ですが、コマンド上はソースからコンパイルしたものが有効になっております。 # which php /usr/local/bin/php # php -v PHP 5.2.1 ソースからコンパイルしたPHPの削除はインストール時の展開されたファイルを削除すれば良いと思いますが、(findコマンドでPHP5.2.1関連を片っ端から削除)「/usr/local/bin/php」も削除したのち、RPMのコマンドが有効にならず困っております。 # rpm -e php-5.1.6-3.el4s1.10 # yum install php Installed: php.i386 0:5.1.6-3.el4s1.10 # which php /usr/bin/which: no php

専門家に質問してみよう