のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,062,921人
昨日:no data人
今日:
最近の注目
人気の最安値情報

    元スレCygwin + MinGW + GCC 相談室 Part 3

    gcc覧 / PC版 /
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : - 932 + - cannotfind + - cp932 + - FreeHDL + - heap + - known + - log4cxx + - WinMain@16 + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter

    752 = :

    gcc on cygwinでコンパイルできません。
    以下の通りなのですが、パスが通ってないのでしょうか。
    よろしければ解決策をご教授ください。

    $ cat hello.c
    #include<stdio.h>
    int main(){
    printf("Hello,world.\n");
    return 0;
    }
    $ gcc hello.c
    hello.c:1:18: stdio.h: No such file or directory
    hello.c:5:2: 警告: no newline at end of file
    $ set | grep ^PATH= | sed 's/:/\n/g' | grep -v ^\/cygd
    PATH='/opt/xfce4/bin
    /usr/local/bin
    /usr/bin
    /bin
    /usr/X11R6/bin
    /usr/lib/lapack'

    753 = :

    >>752
    -v オプションを付けてコンパイルするとインクルードファイルのサーチパスが出る
    こんな感じに↓

    #include <...> search starts here:
     /usr/lib/gcc/i686-pc-cygwin/3.4.4/include
     /usr/include
     /usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../include/w32api

    そのどれか (たぶん/usr/include) に stdio.h が存在するか確認

    754 = :

    >>753
    早いレスありがとうございます
    -vオプションをつけて実行した結果、以下のログが得られました。

    #include "..." の探索はここから始まります:
    #include <...> の探索はここから始まります:
    /usr/local/include
    /usr/lib/gcc/i686-pc-cygwin/3.4.4/include
    /usr/include
    探索リストの終わり

    上記のパスを確認したところ

    $ ls /usr/include/
    $ ls /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/
    README* gcj/ mm_malloc.h* stdbool.h* xmmintrin.h*
    c++/ gpc-in-c.h* mmintrin.h* stddef.h*
    emmintrin.h* iso646.h* objc/ syslimits.h*
    float.h* libffi/ pmmintrin.h* unwind.h*
    g2c.h* limits.h* stdarg.h* varargs.h*
    $ ls /usr/local/include/
    SDL/

    となり、どうやらサーチパス上にstdio.hが無いようです。

    755 = :

    >>735
    カレントにfoo.cある時はMakefile無しでも
    make foo
    だけでデフォルトルールでコンパイルしてくれるぜ
    俺はalias使わずに$CFLAGS,$CPPFLAGS,$LDFLAGS,$LDLIBS設定してMakefile用意せずmake派

    756 = :

    cygwinのバージョンを古いのから、新しいのにアップデートさせたら、
    コンパイルがかかる時間がかなり延びてしまった。
    cygwinってアップデートしたら、コンパイル時間が伸びる場合ってあるの?

    757 = :

    cygwinつーか、gccのバージョンの問題じゃない?
    gccは基本的にバージョンが上がるたびにコンパイルが遅くなってる。

    758 = :

    質問ですっ

    現在MinGWにてC++を開発して
    JNI連携でeclipseのJAVAで実行しようと考えています。
    MinGWでdllを作って中を覗くと、
    クラス名が「Java_HelloWorldJNI_sayHelloWorld@8」のように
    「@+数字」が付いてしまいます。

    こうなるとネイティブメソッド宣言がエラーで出来なくなっちゃいますよね?

    このクラス名指定でエラー ⇒ public native String sayHelloWorld@8();

    これを回避するには
    『dllwrap --add-stdcall-alias』
    このような形で指定する事を調べてわかりましたが
    これをMinGWのどこで設定するのかがイマイチわからず。。。

    Project>Export Makefileで作られたMakefileにも指定する所がなさそうですし。

    762 = :

    C++側の話なので該当スレで聞いてください。

    764 = :

    このスレでいいよ、MinGWの使い方なんだから。
    自分には答えられないけど。

    765 = :

    >>758
    JNIはstdcallだから、そのままだと@がついてしまうようだね
    DEFファイルを使ってもいいと思うが
    --kill-atとか指定したら消えないか?

    766 = :

    でけたー!
    >765さんありがとう!
    なので記述しておきます。

    MinGW Developer Studioの「関数名@数字」の「@数字」の消し方

    1 MInGWの「Project>Export Makefile」にてMakefile作成

    2 Makefileの27行目を下記のように「--kill-at,」を付け加える。
    LDFLAGS = -pipe -shared -Wl,--output-def,$(OBJ_DIR)\hogehoge.def,--out-implib,$(OBJ_DIR)\hogehoge.dll.a

    LDFLAGS = -pipe -shared -Wl,--kill-at,--output-def,$(OBJ_DIR)\hogehoge.def,--out-implib,$(OBJ_DIR)\hogehoge.dll.a

    3 コマンドプロンプトでコンパイルに使用したいMakefileの階層に移動する。

    4 コマンドプロンプトでMinGW Developer studioデフォルトインストールなら
    「C:\MinGWStudio\MinGW\bin\mingw32-make.exe」を実行する。

    5 Makefileの存在する階層にdll完成

    結局MinGW Developer Studioの設定のみでは出来ませんでした。。。

    オマケ
    dllの中身を見るにはコレがベンリー!
    Microsoft Visual Studio 6.0>Microsoft Visual Studio 6.0 ツール>
    Dependency Walker

    767 = :

    758、ちゃんとまとめて、えらいな。質問者の鑑だ。

    769 = :

    CPUとHDDを速いものに替えることだろうなあ。

    770 = :

    >>769
    ハード的に改造しないと無理か・・・ orz

    771 = :

    今日、gcc-4.3.0をcygwinからインストールしました。
    ただ、間違えてC:/Tmpいかのgccを解凍したフォルダ内にインストールしてしまいました。
    それで、一度アンインストールしてから再度別のフォルダにインストールしたいのですが、
    アンインストールの仕方が調べてもいまいちわかりません。
    どのようにすればよいでしょうか?

    775 = :

    MinGW+Msysな環境をWindowsXP Pro SP2に構築したのですが、Cygwinに比べて非常に
    お手軽で素晴らしいんですが、この環境にwgetを入れることは出来ませんか?
    GNU Wgetの公式サイトからソース落としてきて
    ./configure
    make したらエラーが出てコンパイルできませんでした・・・・。

    776 = :

    バイナリで良ければMinGW Utilitiesにある

    777 = :

    >>776
    バイナリでいいです

    http://sourceforge.net/project/showfiles.php?group_id=2435
    ココの
    wget-1.9.1.tar.gz
    ですよね?
    http://downloads.sourceforge.net/mingw/wget-1.9.1.tar.gz?modtime=1119444412&big_mirror=1
    ↑これ・・・・
    しかしこれダウンロードしてもソースなんですけど?
    しかも./configure make したらエラー・・・・

    778 = :

    wget-1.9.1.tar.gz をダウンロードして /usr/src に展開。
    wget-1.9.1-mingwPORT.tar.bz2 をダウンロードして適当なところに展開。
    cd wget-1.9.1/mingwPORT
    sh mingwPORT.sh
    質問には Download? と Unarchive? にNo を答えてビルド。
    本当は自動でダウンロード&展開してビルドするはずだけどなんかうまく動いてないっぽい。

    779 = :

    しかしwget くらい MSYS Supplementary Tools
    (http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=67879 )
    あたりに入れて欲しいな…
    MSYS-1.0.11 あたりで入らないかなー?

    780 = :

    >>777
    > バイナリでいいです 

    http://gnuwin32.sourceforge.net/packages/wget.htm
    の Complete package (Setup) が良いかと。

    781 = :

    >>778
    ありがとうございます!!!!
    え~と、本来なら人に聞かずにこういうの自分で分からないといけないと思いますが
    一次情報源はどこでしょうか?出来ればポインタ等示していただければ・・・・

    782 = :

    >>780
    ん?これは?これはMSYSとは無関係にコマンドプロンプト上で動いたりするのでしょうか?

    783 = :

    >>781
    http://www.mingw.org/MinGWiki/index.php/mingwPORT

    >>782
    そーです。

    785 = :

    皆様色々ご教示ありがとうございました。
    おかげさまでwgetが使えるようになりました。今回は先に作業を始めたと言う事と
    せっかくMinGWとMSYSが入っているのでコマンドプロンプト版wgetは見送りました。
    しかし別の環境で使う時は手軽にすぐ使えそうで、貴重な情報を頂きました。
    本当にありがとうございました~

    786 = :

    解決したようだから別にいいんだけど、「コマンドプロンプト版」ってどういう意味?
    MinGW でビルドした実行可能ファイルは MSYS が無くても動くよ。
    単独で動くという意味では mingPORT の wget も GnuWin32 の wget も同じ。

    787 = :

    >>786
    ありゃ、そうだったんですか・・・
    では、mingPORTのwgetとGnuWin32のwgetの違いとは何でしょうか?

    788 = :

    >>787
    詳しく知らないけど当たっているパッチとかビルド時のオプションとかが違う程度じゃないかな。
    http://gnuwin32.sourceforge.net/summary.html ;によると MinGW でビルドされているようだし。

    789 = :

    mingwportの件、sourceforgeのダウンロードURL変更にスクリプトが追随してない模様。
    mirrors.sfファイルの最終行を
    DOWNLOADURI=${DOWNLOADURI}.dl.sourceforge.net/sourceforge/${PACKAGE}
    に書き換えたらmingwPORT.shで自動ダウンロードできた。

    790 = :

    >>710
    zshからvi起動してCのソースを書き書きしながらmakeすると
    vc++のcl.exe呼び出してコンパイルしてくれるようなことできますか。
    シームレスっていうのは、そういうのを言うんだけど。

    792 = :

    >>790
    普通に出来るんじゃね?
    これまでの流れ読んでないけど、790のことに関しては。

    793 = :

    無理

    794 = :

    >>793
    何でよ?
    Makefile書いといてviで:!makeでいいべ。

    795 = :

    先生ー
    MSYS 1.0.10のmsys.bat叩いてもコマンドプロンプトが一瞬表示されてもう一回コマンドプロンプトが一瞬表示されてそのあとなんも起こらないんだけどこれどーすればいいの?
    コマンドプロンプト手動で出してmsys.bat呼んでやるとちゃんと起動されるんだけど…

    環境はVista SP1 Ultimate

    796 = :

    >>794
    >>710をよく読めよ

    797 = :

    1. 麻縄を輪状にして天井から吊す
    2. 陰茎をその輪の中に通してユートピア

    798 = :

    妥協案

    WindowsホストなVirtualBox上のLinux仮想マシンにWine/VC++/Cygwinをインストールして
    ホストの端末エミュレータから仮想マシンにログイン

    Linux/Wine/VC++/CygwinホストなVirtualBox上のWindows仮想マシンの端末エミュレータから
    ホストにログイン

    ただしWineでVC++とCygwin使えるかは知らない。

    799 = :

    簡単にVirtualBox使えばいいじゃん的な事言っている人いるけどさ、
    VirtualBoxっつか仮想PCはかなり重いぞ。その点もちっとよく考えろよと。

    800 = :

    >>799
    意外に軽いぞ VirtualBox。
    cygwinでGNOME動かすと使い物にならないが、VirtualBoxならかなりいい感じ。

    ただ、cygwinとVirtualBoxは全然別物だよ。
    Windowsの便利なツールとして使えるのがcygwin、
    Windows上でただ単に別のOS動かして満足感を味わうのがVirtualBox。


    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / gcc一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : - 932 + - cannotfind + - cp932 + - FreeHDL + - heap + - known + - log4cxx + - WinMain@16 + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

    類似してるかもしれないスレッド


    トップメニューへ / →のくす牧場書庫について