Cygwin + MinGW + GCC ..
[2ch|▼Menu]
751:デフォルトの名無しさん
08/06/04 01:49:57
>>744
@ほにゃらら
で下階層に移動するのはダメ?
linuxのtarballでよくある方法

752:デフォルトの名無しさん
08/06/04 17:00:20
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:デフォルトの名無しさん
08/06/04 17:18:18
>>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:752
08/06/04 17:29:22
>>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:デフォルトの名無しさん
08/06/05 22:12:28
>>735
カレントにfoo.cある時はMakefile無しでも
make foo
だけでデフォルトルールでコンパイルしてくれるぜ
俺はalias使わずに$CFLAGS,$CPPFLAGS,$LDFLAGS,$LDLIBS設定してMakefile用意せずmake派

756:デフォルトの名無しさん
08/06/11 02:37:50
cygwinのバージョンを古いのから、新しいのにアップデートさせたら、
コンパイルがかかる時間がかなり延びてしまった。
cygwinってアップデートしたら、コンパイル時間が伸びる場合ってあるの?

757:デフォルトの名無しさん
08/06/11 08:50:19
cygwinつーか、gccのバージョンの問題じゃない?
gccは基本的にバージョンが上がるたびにコンパイルが遅くなってる。


758:デフォルトの名無しさん
08/06/11 14:04:08
質問ですっ

現在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にも指定する所がなさそうですし。

759:デフォルトの名無しさん
08/06/11 14:11:10
>>758
どうやってDLLを作っているですか? dllwrapで作っているわではないの?



760:758
08/06/11 14:14:30
MinGW Developer Studio 2.05
を使用してDLLを作っています。

761:デフォルトの名無しさん
08/06/11 15:17:09
MinGW Developer Studioは使ったことないからアドバイスできないや。


762:デフォルトの名無しさん
08/06/11 15:23:31
C++側の話なので該当スレで聞いてください。

763:デフォルトの名無しさん
08/06/11 15:40:21
C++でdllを作ってるわけじゃないから
C++スレ行ってもスレチ言われそうだな。

764:デフォルトの名無しさん
08/06/11 16:04:53
このスレでいいよ、MinGWの使い方なんだから。
自分には答えられないけど。


765:デフォルトの名無しさん
08/06/11 17:51:49
>>758
JNIはstdcallだから、そのままだと@がついてしまうようだね
DEFファイルを使ってもいいと思うが
--kill-atとか指定したら消えないか?


766:758
08/06/11 19:49:30
でけたー!
>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:デフォルトの名無しさん
08/06/13 01:17:54
758、ちゃんとまとめて、えらいな。質問者の鑑だ。

768:756
08/06/20 01:14:17
>>757
なるほど。
確かに、GCCのバージョンは3.3から3.4ぐらいに上げたわ。
cygwinのバージョンをダウンさせずに、コンパイル時間を早くさせる方法はあるのかな・・

769:デフォルトの名無しさん
08/06/20 01:37:44
CPUとHDDを速いものに替えることだろうなあ。

770:756
08/06/20 02:57:53
>>769
ハード的に改造しないと無理か・・・ orz

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

772:デフォルトの名無しさん
08/06/20 12:06:28
make uninstall やってみた?

773:デフォルトの名無しさん
08/06/21 03:35:12
やってみましたが、
the uninstall target is not supported in this tree

と出るのみです。

774:デフォルトの名無しさん
08/06/21 12:36:09
>>771
手動削除でおk。

# make deinstall だったりしない?

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

776:デフォルトの名無しさん
08/06/24 21:40:01
バイナリで良ければMinGW Utilitiesにある

777:デフォルトの名無しさん
08/06/24 21:51:24
>>776
バイナリでいいです

URLリンク(sourceforge.net)
ココの
wget-1.9.1.tar.gz
ですよね?
URLリンク(downloads.sourceforge.net)
↑これ・・・・
しかしこれダウンロードしてもソースなんですけど?
しかも./configure make したらエラー・・・・

778:デフォルトの名無しさん
08/06/24 22:13:03
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:デフォルトの名無しさん
08/06/24 22:17:38
しかしwget くらい MSYS Supplementary Tools
( URLリンク(sourceforge.net) )
あたりに入れて欲しいな…
MSYS-1.0.11 あたりで入らないかなー?

780:デフォルトの名無しさん
08/06/24 22:21:00
>>777
> バイナリでいいです 

URLリンク(gnuwin32.sourceforge.net)
の Complete package (Setup) が良いかと。

781:デフォルトの名無しさん
08/06/24 22:22:16
>>778
ありがとうございます!!!!
え〜と、本来なら人に聞かずにこういうの自分で分からないといけないと思いますが
一次情報源はどこでしょうか?出来ればポインタ等示していただければ・・・・

782:デフォルトの名無しさん
08/06/24 22:23:43
>>780
ん?これは?これはMSYSとは無関係にコマンドプロンプト上で動いたりするのでしょうか?

783:デフォルトの名無しさん
08/06/24 22:24:29
>>781
URLリンク(www.mingw.org)

>>782
そーです。

784:デフォルトの名無しさん
08/06/24 22:30:26
ぶっちゃけ mingwPORT まともにメンテナンスされてない気がするけどなー

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

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

787:デフォルトの名無しさん
08/06/24 23:22:59
>>786
ありゃ、そうだったんですか・・・
では、mingPORTのwgetとGnuWin32のwgetの違いとは何でしょうか?

788:デフォルトの名無しさん
08/06/24 23:36:10
>>787
詳しく知らないけど当たっているパッチとかビルド時のオプションとかが違う程度じゃないかな。
URLリンク(gnuwin32.sourceforge.net) によると MinGW でビルドされているようだし。

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

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

791:sage
08/07/08 23:53:16
mingw5.1.4で--exec-charsetオプションが使えないのですが、
どうにか使えるようにはできないのでしょうか?

792:デフォルトの名無しさん
08/07/09 20:14:49
>>790
普通に出来るんじゃね?
これまでの流れ読んでないけど、790のことに関しては。

793:デフォルトの名無しさん
08/07/09 20:57:16
無理

794:デフォルトの名無しさん
08/07/09 23:42:37
>>793
何でよ?
Makefile書いといてviで:!makeでいいべ。

795:デフォルトの名無しさん
08/07/10 00:16:02
先生ー
MSYS 1.0.10のmsys.bat叩いてもコマンドプロンプトが一瞬表示されてもう一回コマンドプロンプトが一瞬表示されてそのあとなんも起こらないんだけどこれどーすればいいの?
コマンドプロンプト手動で出してmsys.bat呼んでやるとちゃんと起動されるんだけど…

環境はVista SP1 Ultimate

796:デフォルトの名無しさん
08/07/10 00:27:50
>>794
>>710をよく読めよ

797:デフォルトの名無しさん
08/07/10 00:28:40
1. 麻縄を輪状にして天井から吊す
2. 陰茎をその輪の中に通してユートピア

798:デフォルトの名無しさん
08/07/10 09:23:22
妥協案

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

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

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

799:デフォルトの名無しさん
08/07/10 22:46:59
簡単にVirtualBox使えばいいじゃん的な事言っている人いるけどさ、
VirtualBoxっつか仮想PCはかなり重いぞ。その点もちっとよく考えろよと。

800:デフォルトの名無しさん
08/07/10 22:56:31
>>799
意外に軽いぞ VirtualBox。
cygwinでGNOME動かすと使い物にならないが、VirtualBoxならかなりいい感じ。

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

801:デフォルトの名無しさん
08/07/13 13:25:27
えー、話の腰を折るようで恐縮ですが、

やねう企画代表者やねうらお(本名・磯崎元洋)が
・ソフトウェアの不正コピーを行っていた
・労働契約上の違反をしていた
・他は不正コピーしていないことを証明しようとしてエロゲーのパッケージを発見し、
 写真に撮ってアップロードしようとした。
URLリンク(d.hatena.ne.jp)
やねう企画の裏側(競馬の詐欺ソフトの製作現場)
URLリンク(d.hatena.ne.jp)
URLリンク(d.hatena.ne.jp)
URLリンク(d.hatena.ne.jp)
有限会社やねう企画(所在地・大阪府八尾市末広町2−1−2)が計画倒産
URLリンク(www.sia.go.jp)

やねうらおプロフィール
性格:友達から「チンピラ」「ヤクザ」と呼ばれている。前世で殺人鬼だった宿業を背負っているという妄想(自覚)あり。
最終学歴:専門学校卒
主な職歴:有限会社センキ(凌辱系アダルトゲームの製作会社)を経て独立、有限会社やねう企画を設立、2006年に計画倒産
代表作:『夜這いマニア』『盗撮マニア』『お楽しみCDシリーズ』『競馬詐欺ソフト』『BM98』

やねうらお語録
>「ワシのほうが潔癖やと思うんやけどな。
>絶対に違法コピーのソフトしか使わんし。
>たとえば強盗に入ったときに、ちょっとかわいそうになって
>十万円だけ残してったら、おかしいやろ?
>自分の『強盗する』という意思に対して矛盾やろ?
>だからワシは、一個も買ったソフトを使ったことがない!!」


802:デフォルトの名無しさん
08/07/13 13:27:31
最近、やねうらおは弓月(>>801)とか言う真性のキチガイに絡まれている

【自作自演】弓月城太郎氏に関するまとめ【神秘体験】
URLリンク(d.hatena.ne.jp)

803:デフォルトの名無しさん
08/07/14 12:42:37
リンクに関する質問なのですが、オブジェクトのリンク順番によって
Undefinedエラーが発生してしまいます。
例えば、"ld a.o b.o"ならOKで、"ld b.o a.o"だとエラーが発生するといった具合です。

リンク順番を適切(?)に設定しなければならないのは
CygwinかLinuxの仕様なのでしょうか?


804:デフォルトの名無しさん
08/07/14 12:47:02
Unix系では昔からそうだったと思うが。そうでないと、ライブラリ内の同名関数とバッティングしてしまうからね。

805:デフォルトの名無しさん
08/07/14 12:47:42
>>803
Linux だと適当に並べても面倒見てくれる。
cygwin や mingw だとリンク時に参照関係考慮して並べないとだめ、
ライブラリのリンクオプションの順番も重要。

806:デフォルトの名無しさん
08/07/14 13:52:31
>>804-805
CygwinというかUnix系自体に触ったことがなかったので
とても迷ってしまいました。ありがとうございます。

807:デフォルトの名無しさん
08/07/14 23:42:45
vista64にしたらmsysがうまくうごかねー・・・。なんかあちこちで
スタックエラーで落ちまくり、Permission Deniedで止まりまくりんぐ。
長い死のロードになりそうだぜ・・・ぐへへ・・・(死

808:デフォルトの名無しさん
08/07/16 12:11:57
誰か助けてください。Cygwin上でgcc4.3.3をmakeしようとしたら、

/home/***/gcc-4.3.1/i686-pc-cygwin/libstdc++-v3/include/ext/pb_ds/hash_policy.hpp:57:87:
error:ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_size_base.hpp: No such file or directory

というエラーが出て止まってしまいます。たしかにhash_policy.hppの57行目には
#include <ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_size_base.hpp>があります。
しかしその場所を見てみると
\i686-pc-cygwin\libstdc++-v3\include\ext\pb_ds\detail\resize_policy\hash_load_check_resize_trigger_size_base.hpp
という名前のショートカットはありますが、そのリンク先
\libstdc++-v3\include\ext\pb_ds\detail\resize_policy\hash_load_check_resize_trigger_size_base.hpp
のファイルがありません、リンク切れになっています。

単にgcc4.3.3を解凍してconfigure & make下だけなのですが何かインストールが足りないのでしょうか?

809:デフォルトの名無しさん
08/07/16 16:38:22
>>808
ペニス

810:デフォルトの名無しさん
08/07/16 20:39:32
ffmpeg-checkout-2008-07-16のFFMPEGを下記のオプションでconfigureするとエラーが出てしまいます。
何が原因なのでしょうか?アドバイスをおねがいします。
URLリンク(ffmpeg.mplayerhq.hu)

./configure \
--disable-shared \
--enable-static \
--enable-memalign-hack \
--enable-w32threads \
--enable-postproc \
--enable-libmp3lame \
--enable-libamr_nb \
--enable-libfaad \
--enable-libfaac \
--enable-liba52 \
--enable-libx264 \
--enable-libxvid \
--enable-avfilter \
--enable-gpl \
--extra-cflags=-I/static2/include \
--extra-ldflags=-L/static2/lib \
--disable-debug

エラー
./configure: line 196: pr: command not found
./configure: line 196: pr: command not found
libamr is nonfree and --enable-nonfree is not specified.
If you think configure made a mistake, make sure you are using the latest
version from SVN. If the latest version fails, report the problem to the
ffmpeg-user@mplayerhq.hu mailing list or IRC #ffmpeg on irc.freenode.net.
Include the log file "config.err" produced by configure as this will help
solving the problem.

811:デフォルトの名無しさん
08/07/16 20:43:53
ffmpeg-checkout-2007-07-20では上手くいくのですが
新しいものでないとavfilterが使えないのです。
ライブラリ?はぜんぶmakeに性交しているので、最後のffmpegで行き詰まっています。

812:デフォルトの名無しさん
08/07/16 20:59:23
エラーメッセージそのままじゃないか
prコマンドはmingw32のcoreutilsあたりにはいっているはず
libamrは--enable-gplと矛盾するので使えない

813:デフォルトの名無しさん
08/07/16 21:11:30
アドバイスありがとうございます。
解決できそうです。
l
ibamr is nonfreeとありますね。
とりあえず、--enable-libamr_nbを外しました。

それとpr.exeが見当たらないので探してきます。

814:デフォルトの名無しさん
08/07/17 11:51:48
>>808の件、解決しました。
どうやらwindowsで解凍したときに、ファイル名が長いことが原因なのか
ファイル名の末尾が化けたようです。
cygwinのコマンドで解凍したら正常にファイルがありました。
使用した解凍ソフトはLaplus1.53でした。多分バグだと思われます。

815:デフォルトの名無しさん
08/07/17 11:57:10
いいえ、仕様です。

816:デフォルトの名無しさん
08/07/17 19:02:18
WinFSが実用化してたらこんなしょぼい仕様とはおさらばのハズだったのに

817:デフォルトの名無しさん
08/07/17 19:42:52
もしかしてCygwinに付属しているg++(非GCC)って
wchar.hインクルードしても、wprintfやらwscanf使えませんか?

#g++ -v
Reading specs from /usr/lib/gcc/i686-pc-cygwin/3.4.4/specs
Configured with: /usr/build/package/orig/test.respin/gcc-3.4.4-3/configure --ver
bose --prefix=/usr --exec-prefix=/usr --sysconfdir=/etc --libdir=/usr/lib --libe
xecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --enable-langu
ages=c,ada,c++,d,f77,pascal,java,objc --enable-nls --without-included-gettext --
enable-version-specific-runtime-libs --without-x --enable-libgcj --disable-java-
awt --with-system-zlib --enable-interpreter --disable-libgcj-debug --enable-thre
ads=posix --enable-java-gc=boehm --disable-win32-registry --enable-sjlj-exceptio
ns --enable-hash-synchronization --enable-libstdcxx-debug
Thread model: posix
gcc version 3.4.4 (cygming special, gdc 0.12, using dmd 0.125)


818:デフォルトの名無しさん
08/07/17 23:32:05
Yes
諦めてMinGW入れなさい。

819:デフォルトの名無しさん
08/07/18 00:07:30
同ディレクトリにある5つのフォルダのmakeを自動的に実行するにはどうしたらいいのですか?


dir1/makefile
dir2/makefile
dir3/makefile
dir4/makefile
dir5/makefile

820:デフォルトの名無しさん
08/07/18 00:15:31
>>819
cd dir1 && make

821:デフォルトの名無しさん
08/07/18 00:41:59
>>819
for foo in dir[1-5]; do pushd $foo; make; popd; done

822:デフォルトの名無しさん
08/07/18 11:16:33
>>820
>>821
ありがとぅ・

823:デフォルトの名無しさん
08/07/18 11:41:47
Cygwin + Gcc 4.3.1でOpenMPプログラミングをしようとしたら、
#include文でomp.hがないと言われてしまいました。

gccのconfigureのオプションが足りなかったのでしょうか?
誰か教えてください。

824:デフォルトの名無しさん
08/07/18 11:54:33
omp.hがない

825:デフォルトの名無しさん
08/07/18 16:33:31
宿題スレでみた /dev/pts と言うのをcygwinで使いたいのだけど、
何かセットアップが必要のようで、わかりません。
/devを見てみると、
stdinとかstdoutと言うのはあるけど、ptsと言うのは見当たりません。
どうすると、使えるようになりますか?

826:質問です。
08/07/18 16:56:11
>>824
Gcc 4.3にomp.hは入っていないのですか?
4.2にしか入っていないのですか?

827:デフォルトの名無しさん
08/07/18 18:22:26
>>826
omp.hはgccの付属物じゃないよ。OpenMPの付属物。


828:デフォルトの名無しさん
08/07/18 22:14:32
>>823

--enable-libgomp は指定した?


829:デフォルトの名無しさん
08/07/19 01:16:07
>>828
そんなオプションあったんすか!?
configureの説明書きには--disable-libgompしかないから
デフォルトかと思ってました・・・

あ〜、また7時間makeし直しか・・・orz


830:デフォルトの名無しさん
08/07/19 02:10:28
>>829
いや、だからおまいの環境、OpenMPのライブラリとヘッダがインストールされてないだろ、と。

831:デフォルトの名無しさん
08/07/19 12:30:07
>>830
gcc4.3.1の中にomp.h.inファイルがありましたので、
多分コンパイルの対象外にされているんだと思います。
何かのconfigureオプションが足りない?
続きはOpen MPスレで質問させていただきたいと思ってます。


最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4772日前に更新/237 KB
担当:undef