私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレCygwin + MinGW + GCC 相談室 Part 7
gcc スレッド一覧へ / gcc とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 :
レスフィルター : (試験中)
Windows上で動作するフリーの開発環境 CygwinとMinGWに関する相談スレッドです。
過去スレ:
Cygwin + MinGW + GCC 相談室 Part 6
http://toro.2ch.net/test/read.cgi/tech/1304609116/
Cygwin + MinGW + GCC 相談室 Part 5
http://hibari.2ch.net/test/read.cgi/tech/1269400706/
Cygwin + MinGW + GCC 相談室 Part 4
http://pc12.2ch.net/test/read.cgi/tech/1221233882/
cygwin + mingwn + gcc 相談室 Part3
http://pc11.2ch.net/test/read.cgi/tech/1177944767/
cygwin + mingwn + gcc 相談室 Part2
http://pc11.2ch.net/test/read.cgi/tech/1126103347/
cygwin + mingwn + gcc 相談室
http://pc8.2ch.net/test/read.cgi/tech/1058134693/
関連サイト:
Cygwinhttp://www.cygwin.com/
MinGWhttp://www.mingw.org/
関連スレッド:
GCCについて part10
http://toro.2ch.net/test/read.cgi/tech/1315026784/
過去スレ:
Cygwin + MinGW + GCC 相談室 Part 6
http://toro.2ch.net/test/read.cgi/tech/1304609116/
Cygwin + MinGW + GCC 相談室 Part 5
http://hibari.2ch.net/test/read.cgi/tech/1269400706/
Cygwin + MinGW + GCC 相談室 Part 4
http://pc12.2ch.net/test/read.cgi/tech/1221233882/
cygwin + mingwn + gcc 相談室 Part3
http://pc11.2ch.net/test/read.cgi/tech/1177944767/
cygwin + mingwn + gcc 相談室 Part2
http://pc11.2ch.net/test/read.cgi/tech/1126103347/
cygwin + mingwn + gcc 相談室
http://pc8.2ch.net/test/read.cgi/tech/1058134693/
関連サイト:
Cygwinhttp://www.cygwin.com/
MinGWhttp://www.mingw.org/
関連スレッド:
GCCについて part10
http://toro.2ch.net/test/read.cgi/tech/1315026784/
2 名前:デフォルトの名無しさん[sage] 投稿日:2011/05/06(金) 00:25:49.76
バイナリ配布サイト:
TDM's GCC/mingw32 Builds
http://www.tdragon.net/recentgcc/
Komisar Mingw
http://komisar.gin.by/mingw/
msys-cn - Project Hosting on Google Code
http://code.google.com/p/msys-cn/
MAME | Tools for building MAME on Windows
http://mamedev.org/tools/
MinGW Distro - nuwen.net
http://nuwen.net/mingw.html
mingw-w64
http://mingw-w64.sourceforge.net/
Cross-Mingw.GCC - x86/x64 - XvidVideo.RU
http://www.xvidvideo.ru/2009-10-22-10-49-14/cat_view/28-cross-mingwgcc-x86x64.html
猫科研究所(felid labo) - MinGW猫科研究所パック
http://up-cat.net/
バイナリ配布サイト:
TDM's GCC/mingw32 Builds
http://www.tdragon.net/recentgcc/
Komisar Mingw
http://komisar.gin.by/mingw/
msys-cn - Project Hosting on Google Code
http://code.google.com/p/msys-cn/
MAME | Tools for building MAME on Windows
http://mamedev.org/tools/
MinGW Distro - nuwen.net
http://nuwen.net/mingw.html
mingw-w64
http://mingw-w64.sourceforge.net/
Cross-Mingw.GCC - x86/x64 - XvidVideo.RU
http://www.xvidvideo.ru/2009-10-22-10-49-14/cat_view/28-cross-mingwgcc-x86x64.html
猫科研究所(felid labo) - MinGW猫科研究所パック
http://up-cat.net/
安物NASのSMBと100BASE-TXだと、gccのtarballの展開
(NAS上で、bunzip2|tar xf -)
すら時間が掛かり過ぎる。
常用するのは厳しいかも。
(NAS上で、bunzip2|tar xf -)
すら時間が掛かり過ぎる。
常用するのは厳しいかも。
mingw の gcc で test.dll とインポートライブラリ libtest.a を次のように作った
g++ --shared -o test.dll test.cpp
pexports test.dll > test.def
dlltool --dllname test.dll --input-def test.def --output-lib libtest.a
それを実際にリンクさせようとしたところ、
g++ -Lライブラリのパス -ltest main.cpp
とやったら、リンクエラー undefined reference to・・・ が発生した。
libtest.a をカレントディレクトリにコピーしてきて
g++ main.cpp libtest.a
とやったら、ビルドできた。
ネット上で mingw の dll の使い方を調べてみると
前者の方法で良いみたいだけど、なぜかできない。
なんで?
g++ --shared -o test.dll test.cpp
pexports test.dll > test.def
dlltool --dllname test.dll --input-def test.def --output-lib libtest.a
それを実際にリンクさせようとしたところ、
g++ -Lライブラリのパス -ltest main.cpp
とやったら、リンクエラー undefined reference to・・・ が発生した。
libtest.a をカレントディレクトリにコピーしてきて
g++ main.cpp libtest.a
とやったら、ビルドできた。
ネット上で mingw の dll の使い方を調べてみると
前者の方法で良いみたいだけど、なぜかできない。
なんで?
>>8
つまり畑は違えど種は同じ、と
つまり畑は違えど種は同じ、と
http://www.sixnine.net/cygwin/translation/mingw-doc/mingwfaq.html
ここを見ると、mingw32-make は msys の make に比べて
機能が欠けていたり修正されていたりするそうだけど、
具体的にはどんな機能が書けていたり修正されてるの?
この辺りネットで調べてみても、誰も具体的には説明していないような気がする。
当然だけど、これでビルドされた exe ファイルに違いはないよね?
ここを見ると、mingw32-make は msys の make に比べて
機能が欠けていたり修正されていたりするそうだけど、
具体的にはどんな機能が書けていたり修正されてるの?
この辺りネットで調べてみても、誰も具体的には説明していないような気がする。
当然だけど、これでビルドされた exe ファイルに違いはないよね?
msys*.dllをリンクしたmakeはMSYSのパス(/usr/local)をネイティブパス(C:\mingw\msys\local)に変換してくれたりするのでは
GNUのサイトからmakeのソースを落としてそのままビルドしようとするとconfigureで
>case "$has_wait_nohang" in
> no) echo
> echo "WARNING: Your system has neither waitpid() nor wait3()."
> echo " Without one of these, signal handling is unreliable."
> echo " You should be aware that running GNU make with -j"
> echo " could result in erratic behavior."
> echo ;;
>esac
と言われる。
waitpid()はmsys-1.0.dllの中にあるので、MinGWのサイトにあるmsysを使うようにパッチされたソース
(make-3.81-3-msys-1.0.13-src.tar.lzma)を使ってビルドされたmakeならば-jオプションがちゃんと動くと思う
>case "$has_wait_nohang" in
> no) echo
> echo "WARNING: Your system has neither waitpid() nor wait3()."
> echo " Without one of these, signal handling is unreliable."
> echo " You should be aware that running GNU make with -j"
> echo " could result in erratic behavior."
> echo ;;
>esac
と言われる。
waitpid()はmsys-1.0.dllの中にあるので、MinGWのサイトにあるmsysを使うようにパッチされたソース
(make-3.81-3-msys-1.0.13-src.tar.lzma)を使ってビルドされたmakeならば-jオプションがちゃんと動くと思う
今まで make って、Makefile に書かれたコマンドを単に実行するだけで、
そのコマンドが使うデフォルトのパスとかには一切関わらないと思ってたが、
話を聞いてるとどうも違うみたいだ
そのコマンドが使うデフォルトのパスとかには一切関わらないと思ってたが、
話を聞いてるとどうも違うみたいだ
>>15
ディフォルトメークルールで何でもあり。
ディフォルトメークルールで何でもあり。
前スレのcommon lispのconfigureがmsysでコケちゃったの別解
msysやめて、cygwinでやってみた
$ CC=i686-w64-mingw32-gcc CXX=i686-w64-mingw32-g++ ./configure --enable-ansi --build=i686-w64-mingw32
(事前にcygwinにmingwなgmpいれとかないといけない。)
これで、configureは成功する。
しかし、makeでまだ、コケる。
msysやめて、cygwinでやってみた
$ CC=i686-w64-mingw32-gcc CXX=i686-w64-mingw32-g++ ./configure --enable-ansi --build=i686-w64-mingw32
(事前にcygwinにmingwなgmpいれとかないといけない。)
これで、configureは成功する。
しかし、makeでまだ、コケる。
そうなのか。
何のためにあるんだろ、歴史的な経緯とか、互換性のためかな。
今はどちらでも気にしないで使って良いんだね。
ありがと。
何のためにあるんだろ、歴史的な経緯とか、互換性のためかな。
今はどちらでも気にしないで使って良いんだね。
ありがと。
>>24-25
トイレ?
トイレ?
みんなgcc捨ててclang使ってないの?
clangはエラーメッセージがgccよりわかりやすくてよい
clangはエラーメッセージがgccよりわかりやすくてよい
clangはもっと簡単に使えるようにしてよ
gccみたいに解凍して環境変数設定したら即使えるようにならない限り選択肢にならん
gccみたいに解凍して環境変数設定したら即使えるようにならない限り選択肢にならん
cygwinの設定で環境変数を変数名HOME、値/home/usernameと設定したのですが、
HOMEという変数名はcygwinを使うためだけに設定しても大丈夫なのですか?
他のソフトでも環境変数のHOMEを設定するときに不都合があったりするのでしょうか。
大学の授業の延長で自宅のPCでも使えるようにしたので、環境変数とかについては無知です。
よろしくお願いします。
homeディレクトリをC:\cygwin\home\usernameにしておきたいのですが...
HOMEという変数名はcygwinを使うためだけに設定しても大丈夫なのですか?
他のソフトでも環境変数のHOMEを設定するときに不都合があったりするのでしょうか。
大学の授業の延長で自宅のPCでも使えるようにしたので、環境変数とかについては無知です。
よろしくお願いします。
homeディレクトリをC:\cygwin\home\usernameにしておきたいのですが...
>>33
bash側でHOMEを設定するなら、Windowsアプリには影響しないよ。
bash側でHOMEを設定するなら、Windowsアプリには影響しないよ。
>>25
俺の環境ではLinaxはLinuxへのシンボリックリンクだから大丈夫
俺の環境ではLinaxはLinuxへのシンボリックリンクだから大丈夫
ちょっと気をつける点があるが HOME を /cygdrive/c/Users/yourname にすると便利なことが多い。
>>1
新年明けましておめでとう。良い年であるといいね
新年明けましておめでとう。良い年であるといいね
gcc で32/64bit syntax-only コンパイルを行いたいがスイッチによって定義済みマクロが切り替わらないです。
これって全部自分で再定義しないとだめなの? __SIZE_TYPE__ とか __PTRDIFF_TYPE__ とかその他もろもろ。
ILP32/LP64/LLP64とかを切り替えて syntax-only がしたいんだけどどうすれば?
これって全部自分で再定義しないとだめなの? __SIZE_TYPE__ とか __PTRDIFF_TYPE__ とかその他もろもろ。
ILP32/LP64/LLP64とかを切り替えて syntax-only がしたいんだけどどうすれば?
1. 上記に追加、というかこれが本題で clang で syntax-only をしたいのだが、 -m32/m64 に相当するスイッチも見当たらないしどうやって32/64bitの切り替えを行えばいい?
ちなみに 64bit 想定で size_t が uint64_t 相当になると <new> をインクルードしただけで operator new がエラーになる。
第一引数の size_t は uint32_t 想定である的なエラーになるんだが・・・。
これを解決して size_t が uint64_t でも syntax-check をパスできるようにしたいです。
ちなみに 64bit 想定で size_t が uint64_t 相当になると <new> をインクルードしただけで operator new がエラーになる。
第一引数の size_t は uint32_t 想定である的なエラーになるんだが・・・。
これを解決して size_t が uint64_t でも syntax-check をパスできるようにしたいです。
2. clang で Windows.hを syntax-only したときにデバッグビルドだと __STR2WSTRマクロで勝手にリテラル記号をつけられてしまうのだがclang がこれに対応していないのかリテラルとして処理できずにエラーになるんだが、どうする方法ない?
とりあえず現状 -U_DEBUG で非デバッグ版として回避してるけど、_DEBUG ありでちゃんと通るようにしたい
3. clang のオプションについての質問
-fms-version -fms-extensions を設定しているのに _MSC_VER や _MSC_EXTENSIONS が定義されない
これってどうなの?まだ未対応?
とりあえず現状 -U_DEBUG で非デバッグ版として回避してるけど、_DEBUG ありでちゃんと通るようにしたい
3. clang のオプションについての質問
-fms-version -fms-extensions を設定しているのに _MSC_VER や _MSC_EXTENSIONS が定義されない
これってどうなの?まだ未対応?
-no include 系オプションがおかしい?
clang -fsyntax-only -x c++ -v /dev/null
とかで表示されるインクルード対象だが、オプション一覧にでてるのは
-nobuiltininc Disable builtin #include directories
-nostdinc++ Disable standard #include directories for the C++ standard library
-nostdsysteminc Disable standard system #include directories
デフォルトでインクルードされる対処を全て除外したいので
clang -fsyntax-only -x c++ -v -nostdinc /dev/null
とかにすると望みの結果になるのだが
clang -fsyntax-only -x c++ -v /dev/null
とかで表示されるインクルード対象だが、オプション一覧にでてるのは
-nobuiltininc Disable builtin #include directories
-nostdinc++ Disable standard #include directories for the C++ standard library
-nostdsysteminc Disable standard system #include directories
デフォルトでインクルードされる対処を全て除外したいので
clang -fsyntax-only -x c++ -v -nostdinc /dev/null
とかにすると望みの結果になるのだが
clang -cc1 -fsyntax-only -x c++ -v -nostdinc /dev/null
とするとダメ。
正確には -v つけてるうちはよいが外して、ビルドすると cc1 は -nostdinc ねぇよ、っていわれます。
-v -nostdinc で出力されたオプション列を真似して
-cc1 に渡す nobuiltininc/nostdinc++/nostdsysteminc を指定してもinclude対象ディレクトリを全ては除外できずnostdinc相当になりません。
これってどうすればいいんでしょうかね?
とするとダメ。
正確には -v つけてるうちはよいが外して、ビルドすると cc1 は -nostdinc ねぇよ、っていわれます。
-v -nostdinc で出力されたオプション列を真似して
-cc1 に渡す nobuiltininc/nostdinc++/nostdsysteminc を指定してもinclude対象ディレクトリを全ては除外できずnostdinc相当になりません。
これってどうすればいいんでしょうかね?
http://sites.google.com/site/x32abi/
ILP32(x32abi)はウニックス系だけじゃね、つかえるのは
とういうか、windowsでx32apiのバイナリ動く(ある)のけ
mingw64は
i686-w64-mingw32
x86_64-w64-mingw64
で64bit/32bit環境を混在させないようにしてる
clangはこれからでしょ、まだ枯れてないような
ILP32(x32abi)はウニックス系だけじゃね、つかえるのは
とういうか、windowsでx32apiのバイナリ動く(ある)のけ
mingw64は
i686-w64-mingw32
x86_64-w64-mingw64
で64bit/32bit環境を混在させないようにしてる
clangはこれからでしょ、まだ枯れてないような
mingw初心者で解らんから聞くけど
i686-w64-mingw32 (i686, w64, mingw32)
x86_64-w64-mingw64 (x86_64, w64, mingw64)
の各部は何を意味するですか
i686-w64-mingw32 (i686, w64, mingw32)
x86_64-w64-mingw64 (x86_64, w64, mingw64)
の各部は何を意味するですか
類似してるかもしれないスレッド
- Cygwin + MinGW + GCC 相談室 Part 8 (938) - [97%] - 2022/10/28 8:00
- Cygwin + MinGW + GCC 相談室 Part 6 (981) - [97%] - 2012/12/30 23:15
- Cygwin + MinGW + GCC 相談室 Part 5 (981) - [97%] - 2011/4/6 2:32
- Cygwin + MinGW + GCC 相談室 Part 4 (1001) - [97%] - 2010/3/23 18:31 ☆
- Cygwin + MinGW + GCC 相談室 Part 3 (1001) - [97%] - 2008/9/12 0:04 ★
- 【激遅】AppleGCC【絶望】 (111) - [1%] - 2010/1/15 10:31
トップメニューへ / →のくす牧場書庫について