- 1 名前:デフォルトの名無しさん mailto:sage [2013/01/01(火) 14:47:10.46 ]
- Windows上で動作するフリーの開発環境 CygwinとMinGWに関する相談スレッドです。
過去スレ: Cygwin + MinGW + GCC 相談室 Part 6 toro.2ch.net/test/read.cgi/tech/1304609116/ Cygwin + MinGW + GCC 相談室 Part 5 hibari.2ch.net/test/read.cgi/tech/1269400706/ Cygwin + MinGW + GCC 相談室 Part 4 pc12.2ch.net/test/read.cgi/tech/1221233882/ cygwin + mingwn + gcc 相談室 Part3 pc11.2ch.net/test/read.cgi/tech/1177944767/ cygwin + mingwn + gcc 相談室 Part2 pc11.2ch.net/test/read.cgi/tech/1126103347/ cygwin + mingwn + gcc 相談室 pc8.2ch.net/test/read.cgi/tech/1058134693/ 関連サイト: Cygwin www.cygwin.com/ MinGW www.mingw.org/ 関連スレッド: GCCについて part10 toro.2ch.net/test/read.cgi/tech/1315026784/
- 75 名前:デフォルトの名無しさん mailto:sage [2013/02/21(木) 13:38:42.43 ]
- cmdのstartのようなコマンドはcygwinにありますか?
たとえばcygwinコンソール起動中にvimコマンドで、コンソール内でText編集、保存、cygwinに戻ってコンパイル というのは面倒なので、新しいウィンドウでアプリケーションを起動するコマンドを知りたいです。
- 76 名前:デフォルトの名無しさん mailto:sage [2013/02/21(木) 13:49:09.84 ]
- >>75
/usr/bin/cygstart.exe
- 77 名前:デフォルトの名無しさん mailto:sage [2013/02/21(木) 13:52:30.86 ]
- >>76
cygstart vim TestRun.java でできました。ありがとうございます
- 78 名前:デフォルトの名無しさん mailto:sage [2013/03/16(土) 14:39:56.31 ]
- windows7の64bit環境でmingwを使いc++のプログラムをコンパイルしようとしているのですが、
環境変数をC:\mingw\binに設定し、hello worldを表示させるだけのコードにコンパイルをかけてみると g++:エラー:CreateProcess:No such file or directory となってしまいます ソースファイルのディレクトリも合っていますしlsで存在も確認できています ここ数日ほどこれで足止め食らってます どうか解決策をご教授ください
- 79 名前:デフォルトの名無しさん [2013/03/16(土) 14:50:17.26 ]
- ggrks
エスパー absolutearea.blogspot.jp/2010/07/eclipse-cdt-mingw64bit.html
- 80 名前:デフォルトの名無しさん mailto:sage [2013/03/16(土) 15:36:21.84 ]
- 1.環境変数なんてイラン
2.MinGW64\binをMinGW32\binよりPathの前方に移動させる これでどや?
- 81 名前:デフォルトの名無しさん mailto:sage [2013/03/16(土) 16:28:49.84 ]
- >>79
回答ありがとうございます そのサイトにもたどり着いて試したんですが・・・ -vで内容を確認しても特に間違っている感じはないんです >>80 同じく回答ありがとうございます MinGWは64bit分しかいれてないのでMinGW32はないんです
- 82 名前:デフォルトの名無しさん mailto:sage [2013/03/16(土) 16:36:49.11 ]
- g++ -vでコンパイルしたときの出力を貼れよ
ここじゃなくてpastebinとかでな
- 83 名前:デフォルトの名無しさん mailto:sage [2013/03/16(土) 18:15:16.36 ]
- g++:エラー:CreateProcess:No such file or directory
ってなんかmingwじゃなくPC側の設定とかに問題ありって感じだな
- 84 名前:デフォルトの名無しさん mailto:sage [2013/03/16(土) 18:56:26.28 ]
- とりあえず
where gcc objdump -p C:\MinGW64\bin\gcc.exe | grep DLL objdump -p C:\MinGW64\bin\gcc.exe | grep for C:\MinGW64\bin\gcc.exe --version をやってみようか(C:\MinGW64\binはMinGW64のインストールフォルダ) www.07ch.net/up2/src/lena8814.png
- 85 名前:デフォルトの名無しさん mailto:sage [2013/03/16(土) 19:21:19.74 ]
- >>82
こんな出力です pastebin.com/d4q1BMGv URLを直接張りたいんですがレベルが低いとかで書き込めないんです すいません >>83 PC側の設定ですか・・・ cmdでコンパイラをさわるのは初めてでどうにも難しくて >>84 やってみましたところ、こんな出力になりました pastebin.com/7XPuyLCx
- 86 名前:デフォルトの名無しさん mailto:sage [2013/03/16(土) 21:09:09.92 ]
- >>85
"cc1plus -quiet -v -iprefix C:\MinGW\libexec\gccx86_64-w64-mingw32/4.5.2/" libexec\gccとx86_64が引っ付いてるのが原因か とりあえずもっと新しいコンパイラで試してみて
- 87 名前:デフォルトの名無しさん mailto:sage [2013/03/16(土) 21:42:47.25 ]
- そのバージョンsourceforgeに無くね?
exeでインストールした? exeならコントロールパネルから削除してC:\MinGWも全て削除してもっと新しいやつをインストールしたほうが良さげ zipならそのままC:\MinGWを全部削除して入れ直した方が良さそう win32とwin64同梱版はややこしいので、たとえばこことか sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/sezero_4.5_20111101/mingw-w64-bin_x86_64-mingw_20111101_sezero.zip/download
- 88 名前:デフォルトの名無しさん mailto:sage [2013/03/16(土) 21:47:56.23 ]
- >>87
それも古いわw 4.7.2にしとけ
- 89 名前:デフォルトの名無しさん mailto:sage [2013/03/16(土) 22:56:54.25 ]
- お、俺の環境は古いのか……
ど、どこぞ?
- 90 名前:デフォルトの名無しさん mailto:sage [2013/03/16(土) 23:04:05.39 ]
- >>89
自分で4.7.2をソースよりビルドする。かっこいい
- 91 名前:デフォルトの名無しさん mailto:sage [2013/03/16(土) 23:08:01.75 ]
- >>90
configure: error: C preprocessor "/lib/cpp" fails sanity check
- 92 名前:デフォルトの名無しさん [2013/03/17(日) 00:06:32.28 ]
- cygwinのsetup.exeで入れたらどうなる?
- 93 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 00:16:28.90 ]
- 4.8.0のRCが出たらしいぞ
- 94 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 00:17:17.58 ]
- MSYSなんです
- 95 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 18:35:22.61 ]
- 最新のVisualStudioでコンパイルしたのライブラリ(lib)とヘッダ(hpp)があります(ソースコードcppはありません)
これをMinGW+MSYS+GCCの環境で再利用することはできますか?
- 96 名前:デフォルトの名無しさん mailto:sage [2013/03/17(日) 23:35:14.21 ]
- できますよ
- 97 名前:デフォルトの名無しさん mailto:sage [2013/03/19(火) 16:58:01.79 ]
- >>95
>>96 C 言語のライブラリ(extern "C" { } の中)は使えるけど C++ は VC と gcc でマングルが違うのでコンパイル済みだと使えなかったんじゃね?
- 98 名前:デフォルトの名無しさん mailto:sage [2013/03/19(火) 22:08:41.64 ]
- https://www.google.co.jp/#hl=ja&gs_rn=6&gs_ri=psy-ab&gs_is=1&cp=14&gs_id=1hk&xhr=t&q=MinGW+lib+dll+%E5%A4%89%E6%8F%9B&es_nrs=true&pf=p&sclient=psy-ab&oq=MinGW+lib+dll+%E5%A4%89%E6%8F%9B
- 99 名前:デフォルトの名無しさん mailto:sage [2013/03/20(水) 00:28:39.52 ]
- DLLにコンパイルして動的ロードでおk
- 100 名前:デフォルトの名無しさん mailto:sage [2013/03/20(水) 13:48:52.24 ]
- お教え下さい。
MinGW32のgccで-m64のオプションをつけるとsorry, unimplemented: 64-bit mode not compiled in になるけどMinGW32でMinGW64の環境は作れないのでしょうか?
- 101 名前:片山博文MZパンク ◆0lBZNi.Q7evd mailto:sage [2013/03/20(水) 14:16:31.44 ]
- >>100 MinGW-w64を使え
- 102 名前:デフォルトの名無しさん mailto:sage [2013/03/20(水) 14:18:02.38 ]
- アーカイブがグチャグチャで構築し難いんだよね
- 103 名前:デフォルトの名無しさん mailto:sage [2013/03/23(土) 06:48:15.10 ]
- gcc 4.8出たが自ビルドした奴もうおる?
- 104 名前:デフォルトの名無しさん mailto:sage [2013/03/23(土) 08:05:01.74 ]
- ライブラリに関しての質問です。
MinGWでCurlを静的リンクでビルドしていたところ opensslライブラリのlibcrypto.a(rand_win.o)でgdi32を参照する関数 が未解決とのエラーが出ました。 ググってみるとやはり同じような事例が沢山出てきました。 今のところ、該当関数をコメントアウトしてビルドするしか手段が無い ようなのですが、opensslのmakefileにもpcにもgdi32をリンクするよう 指示がされているのですが何故無視?されてしまうのでしょうか。
- 105 名前:デフォルトの名無しさん mailto:sage [2013/03/23(土) 11:55:05.02 ]
- そりゃ、スタティックリンクだから
- 106 名前:デフォルトの名無しさん mailto:sage [2013/03/23(土) 13:29:42.89 ]
- 静的ライブラリだから-lgdi32つければ動くんじゃね?
- 107 名前:デフォルトの名無しさん mailto:sage [2013/03/23(土) 14:03:19.51 ]
- pgr
- 108 名前:デフォルトの名無しさん mailto:sage [2013/03/23(土) 14:05:00.71 ]
- #pragma が無いとコンパイル出来ない人か
- 109 名前:デフォルトの名無しさん mailto:sage [2013/03/26(火) 18:33:48.05 ]
- x86_64-w64-mingw32-gcc -I./../intl "-DBINDIR=\\f:/bin/work/MinGW64/bin\"
-W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wno-format -Werror -g -O2 -D__USE_MINGW_ACCESS -MT archive.lo -MD -MP -MF .deps/archive.Tpo -c -o archive.lo ../../bfd/archive.c" -o archive.o ここで x86_64-w64-mingw32-gcc.exe: fatal error: no input files このエラーがでました。 '"'の数が合わないのですが、makefileのどこで'"'が混入しているのかわからない><;
- 110 名前:デフォルトの名無しさん mailto:sage [2013/03/26(火) 18:55:25.10 ]
- 分かったらまた来てね
- 111 名前:デフォルトの名無しさん mailto:sage [2013/03/26(火) 20:10:03.26 ]
- 分かったら来る必要ないだろうがカス
だから聞いてんだろうが 頭イカレてるんか?
- 112 名前:109 mailto:sage [2013/03/26(火) 20:15:06.79 ]
- うーん
bfd/makefile line334 '"$(bindir)"'→'$(bindir)' それと cソースが char * debug_filename = bfd_follow_gnu_debuglink (abfd, DEBUGDIR); makefileが -DDEBUGDIR=\"$(DEBUGDIR)\"で error: expected ')' before ':' tokenでエラーになります。 cソースのDEBUGDIRが"……"になるようにするにはどう書いたらいいですか?
- 113 名前:デフォルトの名無しさん mailto:sage [2013/03/26(火) 21:54:58.77 ]
- MSYS + MinGW + gcc もここで大丈夫ですか?
今月の同じ日に mingw-get-inst で構築した2つの端末の MSYS 環境があるのですが、 gcc のコンソール出力が一方では日本語表記なのにもう一方だと英語のままという現象に遭遇しています ビルドそのものは正常に通るので緊急性はないのですが、現在はC99記述ソースの評価ビルド用途のみで 深く触る段階ではないので、簡素に扱うため出来れば解決したいと考えています /share/locale/ja/LC_MESSAGES/gcc.mo はいずれも正常に見えるので、読みに行く設定に何かが 起きているように思いますが grep をかけても何処を調整すれば良いのかが分かりません export LC_MESSAGES=ja_JP.UTF-8 を明示的に指定しても変化はありませんでした 端末は同一OSの同一SPで、違いと言えば日本語不可の環境ではインストール先がNTFSでなくFAT32な事位です 他の原因には何が考えられるでしょうか?gcc 4.7.2、MinGW 5.4.2(a) です
- 114 名前:デフォルトの名無しさん mailto:sage [2013/03/26(火) 22:34:50.40 ]
- >>109
configure ... --prefix=f:/bin/work/MinGW64 ... ならどう?
- 115 名前:109 mailto:sage [2013/03/27(水) 00:05:24.86 ]
- >>114
linkが走りませぬ /usr/bin/sh: C:binMinGW1.0binworkMSYS64/i686-pc-mingw32/x86_64-w64-mingw32/lib: No such file or directory
- 116 名前:片山博文MZパンク ◆0lBZNi.Q7evd [2013/03/27(水) 00:23:34.01 ]
- 64bit SEHが簡単にできるようにして欲しい!!
libSEHみたいに
- 117 名前:デフォルトの名無しさん mailto:sage [2013/03/27(水) 10:10:43.97 ]
- >>115
f:/bin/work/MinGW64じゃなくて f:\bin\work\MinGW64で指定していないか?
- 118 名前:デフォルトの名無しさん mailto:sage [2013/03/27(水) 13:55:08.32 ]
- >>115
エラーメッセージをよく見ろ。あんたの指定したとおりのパスになっているか?
- 119 名前:115 mailto:sage [2013/03/27(水) 15:56:50.52 ]
- もともとconfigureには--prefix=/f/bin/work/MinGW64と書いていて
makefileにはAM_CPPFLAGS = -DBINDIR='"$(bindir)"'こう書かれていて$(bindir)はprefixに書いたものにbinを足したものでしょうか? makeが実行時に"/の文字の組み合わせを勝手に\\に書き換えてしまうようで、すると"の対が崩れてしまう。 makeはまたも勝手に解釈してbinの後ろの"を\"に置き換えて-DBINDIR=の前とarchive.cの後ろに"のペアを付け加えるので archive.c"をコンパイル出来ない(そんなソースファイルは無い)というエラーが出ます。 なので"を使わないようにbfd/makefileの334行目を'"$(bindir)"'から'$(bindir)'に書き換えたらmakeが出来ました。
- 120 名前:デフォルトの名無しさん mailto:sage [2013/03/27(水) 17:01:45.74 ]
- MSYS上でやってるんだろ…
- 121 名前:113 mailto:sage [2013/03/27(水) 19:09:44.76 ]
- 新たに分かった事を書きます。
gettext() を使用する簡単な Hello world を作成してみた所、 .mo を /mingw/share/locale/ja/LC_MESSAGES/ に配置し bindtextdomain(, "/mingw/share/locale") としてもやはりNGですが、 <カレント>/ja/LC_MESSAGES/ に配置し bindtextdomain(, ".") とすると正常に変換が行われました。 ( bindtextdomain()、textdomain() の戻り値は全て真。念の為 bintextdomain(, "/<MinGWインストール先絶対パス>/share/locale") を試してもNG ) 理由は不明ですが、問題の方の端末では何故か gettext() 系から /mingw/share/locale が見えないようです。 ( /etc/fstab に異常はなく ls や cp 等の挙動を見ても /mingw/share/locale のマッピング自体は正常と思われます ) 原因としては何が考えられるでしょうか。
- 122 名前:デフォルトの名無しさん mailto:sage [2013/03/27(水) 22:29:47.91 ]
- その<カレント>がMinGWのインストール先と異なるドライブレター配下なのでは?
gettext() を擁する libintl は内部で msvcrt._open() を用いて.moを読み込むが、 この際MSYS環境を考慮してパス変換を行っている訳ではなく _open() にパスを丸投げしている 例えば etc/fstab が 'D:\MinGW\ /mingw' であっても bindtextdomain('/mingw/share/locale') → ×_open('D:\MinGW\share\locale\ja\LC_MESSAGES\gcc.mo') ○_open('/mingw/share/〜/gcc.mo') bindtextdomain('.') → ×_open('.\ja\LC_MESSAGES\gcc.mo') ○_open('./ja/LC_MESSAGES/gcc.mo') 従ってドライブレターが違えばgccを実行してもgcc.moは見えないし、〜:\MinGW以外のパスに MinGWをインストールしても同じ事が起こる なので常に同じドライブレターでプロジェクトを扱うか、どうしても違うドライブレターを使いたいなら そのドライブレターに \MinGW\share\locale\ja\LC_MESSAGES ディレクトリを作成して gcc.mo を 放り込む、もしくは subst を使うといい
- 123 名前:デフォルトの名無しさん mailto:sage [2013/03/27(水) 22:30:41.54 ]
- (続き)
蛇足だが同種の話で locale.alias も現在の MinGW 用 gcc 内で正常に処理されていなかったりする 本来は決め打ちで 'c:/MinGW/share/locale/locale.alias' を読むようビルドしたつもりだったっぽいが、 何かのビルド障害があったらしく 'c:MinGWsharelocale/locale.alias' という謎めいたパスを読みに行く ( ゚д゚) なおこれは gcc に限った話ではなく、自分の取得した版だとMinGW\bin配下の58個のexeの内26個が同じビルド状態になってるっぽい
- 124 名前:デフォルトの名無しさん mailto:sage [2013/03/28(木) 01:10:17.83 ]
- MSYSでやっているのに--prefix=にドライブ指定してちゃんとそのドライブの
指定フォルダにインスコしてくれるのか 'c:MinGWsharelocale/locale.alias'にはワラタ どうするんだよこれ
- 125 名前:113 mailto:sage [2013/03/28(木) 07:39:35.37 ]
- >>122
ありがとうございます! なるほどそういう事だったのですね。確かに問題の端末ではビルド対象とMinGWが別ドライブです。 /ドライブ/ 指定で ls、cd、makeとも正しく扱えていたので考えが及びませんでした・・・。 gcc.moを放り込む方法で上手くいったので当面はこれで行こうと思います。
- 126 名前:デフォルトの名無しさん mailto:sage [2013/04/03(水) 22:03:28.75 ]
- mingw-get で iconvかnkfをインストールするには
なんていうパッケージを入れればいいの?
- 127 名前:デフォルトの名無しさん mailto:sage [2013/04/03(水) 22:17:43.03 ]
- $ mingw-get list | grep '^Package:.\+iconv'
- 128 名前:デフォルトの名無しさん mailto:sage [2013/04/03(水) 23:55:24.07 ]
- Package: mingw32-libiconv
Package: msys-libiconv ってでたけどライブラリだけじゃなくて icomvコマンドも入るの?
- 129 名前:デフォルトの名無しさん mailto:sage [2013/04/03(水) 23:57:35.76 ]
- distro mingw 4.8
- 130 名前:デフォルトの名無しさん mailto:sage [2013/04/13(土) 01:11:12.39 ]
- mingw-w64-v2.0.7を自前でコンパイルして使ってみたら、___msなんたらが不明
と言われた。おかしいと思ってぐぐったら forum.videolan.org/viewtopic.php?f=14&t=101239 とりあえずライブラリだけTDMのライブラリに入れ替えたら__msに関するエラー消 えたけど、なんでだか分からん、ってかv1とv2の違い自体が分かんねぇ…
- 131 名前:デフォルトの名無しさん mailto:sage [2013/04/16(火) 00:32:37.91 ]
- 最近、gowを使い始めたんだけど、gowのbashで.shの実行ってできないんだけど、誰かおしえてくたさい。
- 132 名前:デフォルトの名無しさん mailto:sage [2013/04/17(水) 22:36:54.89 ]
- cmd.exeだとmklink使えるんだけど
cygwinのMinGWではコマンドが見つからないんだけど 何かインストールしないとダメなのかな?
- 133 名前:片山博文MZパンク ◆0lBZNi.Q7evd [2013/04/18(木) 09:28:01.83 ]
- >>132
cmd /c mklink ...
- 134 名前:片山博文MZパンク ◆0lBZNi.Q7evd [2013/04/18(木) 09:30:52.08 ]
- 64bit SEHのインラインアセンブラが死ぬほど難しい。マニュアル見ないとダメだこりゃ
- 135 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 04:11:02.58 ]
- Mingw-w64でBoos tを64ビットコンパイルするにはどうすりゃいいの?
コンパイルエラー出るんだが。Linux上でクロスコンパイルした方が楽かな?
- 136 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 02:51:53.48 ]
- TDM4.7ならライブラリのビルドは成功するぞ、ってか今試した
ちなみにウチは、gcc4.8 or 4.9だとライブラリのビルド自体失敗する。 具体的には、cc1plusがハングする。 wxも同様で、wxの場合どっかの海外のBBSで開発メンバーらしき人が4.8じゃ 無理だから4.7使えって書いてあった(それでもパッチ当てなきゃビルドできない けど)。 なのでFLTK使ってる。
- 137 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 09:34:22.65 ]
- おお確かにTDM-GCC4.7.1ならうまくいったわ
(--layout=systemにするとDuplicate nameとか出てダメだけど) gcc4.8.0で同じようにcc1plusでクラッシュしてた
- 138 名前:デフォルトの名無しさん mailto:sage [2013/05/10(金) 17:57:49.01 ]
- distro mingw 10.1
- 139 名前:デフォルトの名無しさん mailto:sage [2013/05/27(月) 14:06:00.33 ]
- コマンドラインで実行ファイルのプラットフォームを識別する方法ってありませんか?
バイナリでPEヘッダみれば、32か64かわかりますが、わざわざビューワー起動しないといけないので…
- 140 名前:デフォルトの名無しさん mailto:sage [2013/05/27(月) 14:28:48.93 ]
- objdump -i してみて"peごにょごにょx86-64"があれば objdump で見れる
- 141 名前:デフォルトの名無しさん mailto:sage [2013/05/27(月) 15:48:05.06 ]
- fileコマンド
- 142 名前:デフォルトの名無しさん [2013/05/29(水) 16:54:39.08 ]
- 最近のGCCはwin2kサポートしてないの? 作ったアプリが起動できないんだけど
- 143 名前:デフォルトの名無しさん mailto:sage [2013/05/29(水) 17:08:14.37 ]
- >>142
どんなメッセージを見るの? もしかしてx64のバイナリつくってたり?
- 144 名前:デフォルトの名無しさん mailto:sage [2013/05/29(水) 17:14:11.46 ]
- -m32付けてるから32ビットのはず。
メッセージが出ないで起動失敗
- 145 名前:デフォルトの名無しさん mailto:sage [2013/05/29(水) 17:35:47.77 ]
- う、ういるす様のたたりじゃ
- 146 名前:デフォルトの名無しさん mailto:sage [2013/05/29(水) 21:30:02.04 ]
- gcc 2.7.いくつだっけかはc++でコンパイルするとmainに行く前に終わってたな。
-O2つけると浮動小数点演算バグりまくりとか。
- 147 名前:デフォルトの名無しさん mailto:sage [2013/06/05(水) 20:46:20.69 ]
- 4.8.1のmingw-w64出たけど、x64 boostのマスライブラリ作成でcc1plusが落ちるの直ってないんだな
これはBoostじゃなくmingw-w64で直すべきだよな。
- 148 名前:デフォルトの名無しさん mailto:sage [2013/06/14(金) 01:08:08.60 ]
- distro mingw 4.8.1
- 149 名前:デフォルトの名無しさん mailto:sage [2013/06/16(日) 15:57:47.15 ]
- msys2使ってる人ってオランの?
- 150 名前:片山博文MZパンク ◆0lBZNi.Q7evd mailto:sage [2013/06/17(月) 13:47:30.28 ]
- g++で作成された32-bit EXEが古い環境(Win2k、WinXP)で正常に
動作しないバグがあるようだ。 メッセージを表示しないで起動しなかったり、メモリ違反になる。
- 151 名前:デフォルトの名無しさん mailto:sage [2013/06/18(火) 00:25:23.32 ]
- どのg++だよ。自分でビルドしたならまずそれを疑うべきだろ
またg++で作成したexeで古い環境ではサポートしてないAPIやライブラリを使ってれば当然まともに動かない そして正当な指定と思い込んで実は適切でないコンパイルオプションを指定してコンパイルすればやっぱり問題はおきる
- 152 名前:デフォルトの名無しさん mailto:sage [2013/06/18(火) 10:13:40.84 ]
- あれか、dll依存でビルドしておいてexeだけ持っていったとかだろ
- 153 名前:デフォルトの名無しさん mailto:sage [2013/06/24(月) 11:22:04.40 ]
- tdmつかってます。cstdintをincludeしてもint64_tが使えないのはなぜですか?
つかえるようにしかた教えてください。
- 154 名前:片山博文MZパンク ◆0lBZNi.Q7evd [2013/06/25(火) 21:21:01.96 ]
- >>153
GNU extensionsを有効にしろ
- 155 名前:デフォルトの名無しさん mailto:sage [2013/06/26(水) 12:25:29.71 ]
- >>片山博文MZパンク ◆0lBZNi.Q7evd
どうやるの?
- 156 名前:片山博文MZパンク ◆0lBZNi.Q7evd [2013/06/26(水) 18:40:25.25 ]
- -std=gnu99
-std=gnu11 -std=gnu++03 -std=gnu++11 のどれか
- 157 名前:デフォルトの名無しさん mailto:sage [2013/06/27(木) 10:08:58.77 ]
- なんでcstdintがGNU拡張なんだよ
-std=c++11でいいだろ
- 158 名前:デフォルトの名無しさん mailto:sage [2013/06/27(木) 10:16:00.82 ]
- 理由は、エクリプスがstd:int64_tがマクロで隠されていると思い込むバグでした。
しかも<cstdint>をincludeしなくてもstd::int64がつかえるのはなぜですか?
- 159 名前:デフォルトの名無しさん mailto:sage [2013/06/27(木) 10:20:18.10 ]
- >>158
本日Keplerが出たから入れ替えたら直ってるかな 後からやってみる
- 160 名前:デフォルトの名無しさん mailto:sage [2013/06/28(金) 00:51:30.54 ]
- KeplerにしたらDistro MinGWをMinGW GCCとしてツールチェーンで認識しなくなった
いろいろ検索してみたら、どうもレジストリを見ているらしい 取り敢えずアンインストール情報に適当にDistro MinGWを登録したら警告は出るけど 環境変数はうまく設定出来るようになったので実用上は問題はない しかし気持ちわるいな MinGWのある場所を検索する方法が変わったのか?
- 161 名前:デフォルトの名無しさん mailto:sage [2013/06/28(金) 20:10:24.91 ]
- 相変わらずEclipseは馬鹿だな
- 162 名前:デフォルトの名無しさん mailto:sage [2013/07/02(火) NY:AN:NY.AN ]
- 最終リンクを通過できない。どうしたらいいんだ
ttp://www.07ch.net/up2/src/lena9235.png
- 163 名前:デフォルトの名無しさん mailto:sage [2013/07/02(火) NY:AN:NY.AN ]
- ftello64 と fseeko64 を探す
- 164 名前:デフォルトの名無しさん mailto:sage [2013/07/02(火) NY:AN:NY.AN ]
- >>162
とりあえずリンクするライブラリのパス(-L で指定するやつね)が mingw32 用のを指しているか確認すべき。 そっちの環境がわからんが、ひょっと見では cygwin 用と mingw 用が混じっている指定に見える。 あと、ftell() とか fseek() の入った素の C ソースを g++ でコンパイルしているのが気になる。 デフォルトでは gcc とリンカの動き方が違ったと思う。 リロードして >>163 ので気付いた。 コンパイラは 64bit 版なのに(ftello64() をリンクしようとしてる)ライブラリは 32bit 版使ってるね。 64bit 用はうちの環境では /usr/x86_64-w64-mingw32/sys-root/mingw/lib にある。 i686-pc-cygwin は 32bit 用だ。 configure での指定を見直すべきかな。
- 165 名前:デフォルトの名無しさん mailto:sage [2013/07/02(火) NY:AN:NY.AN ]
- コンパイラとライブラリを合わせてもfteelo64がリンクできなかったら
configureのオプションに--disable-largefileを追加 リンクは通るがでかいファイルが処理できなくなるかもしれない
- 166 名前:デフォルトの名無しさん mailto:sage [2013/07/02(火) NY:AN:NY.AN ]
- msys上でビルドしてみる
- 167 名前:デフォルトの名無しさん mailto:sage [2013/07/11(木) NY:AN:NY.AN ]
- >>164
ありがとうございます /binのgcc.exe等をgcc.exe.backupに、/bin/x86_64-w64-mingw-gcc.exe等を/bin/gcc.exeにコピー インクルードフォルダ指定を/usr/x86_64-w64-mingw/sys-root/mingw/include ライブラリフォルダ指定を/usr/x86_64-w64-mingw/sys-root/mingw/lib ヘッダを参照パスへコピーして無事できました
- 168 名前:デフォルトの名無しさん mailto:sage [2013/07/12(金) NY:AN:NY.AN ]
- >>167
そんなことしなくても CC=/bin/x86_64-w64-mingw-gcc ./configure でいいのに
- 169 名前:デフォルトの名無しさん mailto:sage [2013/07/12(金) NY:AN:NY.AN ]
- 自分がやりたいことが「クロスコンパイル」であるということをまず知ろう
cygwinはwindows上で動いてるけど、cygwinネイティブではないプラットフォーム 向けにネイティブとは違うヘッダ等を参照しランタイムとリンクさせるわけで、 linuxからmingwクロスコンパイルするのと基本的に一緒なんだわ クロスコンパイルといっても別に難しい話ではなくて、 GNU autotools系で生成されたconfigureついてるんなら、普通はconfigure時に ./configure --host=x86_64-w64-mingw32 --prefix=/usr/x86_64-w64-mingw32/sys-root/mingw などとすればいいだけ hostにはクロスコンパイラツールセットの3つ組を指定する、これは必須 prefixはどうでもいいがmake installでインストールしたい場所を指定、 少なくともクロスならデフォルトの/usr/localでは嬉しくないだろう 後configureスクリプト内でpkg-config走らせてることが結構あるので、その場合は PKG_CONFIG_PATHを前もって設定してexportしておいたほうがいい
- 170 名前:デフォルトの名無しさん [2013/07/16(火) NY:AN:NY.AN ]
- Cygwinについて、 WindowsとUNIXとでは、改行と漢字コードにかんしてそれぞれどのような相違がありますか?
また、それにより、どのようなことが起きるのか、相違による影響にどのような対処を行うべきかなども教えてください
- 171 名前:デフォルトの名無しさん mailto:sage [2013/07/16(火) NY:AN:NY.AN ]
- >>170
それ語りだすと、とても1レスじゃ収まる気がしないので適当に答える もっと対象を絞った質問が望まれる Windows, UNIX、それぞれの基本的な改行コードは<CRLF>. <LF>だ。 それぞれを16進数で言うと以下の通り <CRLF> = 0x0D 0x0A <LF> = 0x0A で、Cygwin上で作成したテキストの改行コードはどうなるか どうやら<LF>らしい。 ということはWindows上で作成したテキストファイルはそのままでは つかえないかもしれない。Windows上で作成したテキストファイルは 基本<CRLF>で保存されるから。 試しにメモ帳でテキストファイルを作成して、そのファイルを Cygwin上で # cat -v <file> してみてほしい 多分結果には ^M という意味不明な文字列が出力されるはず。 これは <CRLF> の CR部分を表している。
- 172 名前:デフォルトの名無しさん mailto:sage [2013/07/16(火) NY:AN:NY.AN ]
- プログラムのソースコードのことを聞いてんの?
それとも、プログラムするときのファイル処理の仕方?
- 173 名前:片山博文MZパンク ◆0lBZNi.Q7evd mailto:sage [2013/07/16(火) NY:AN:NY.AN ]
- >>170
ファイルをメモ帳やバイナリエディタで開けばわかると思うけど、 改行コードは、windowsで"\r\n"、UNIXで"\n"になっている。 UNIXのテキストをwindowsで開くと改行されずに黒い四角が表示される。 fopenでテキストファイルをテキストモードで開くとそのあたりの違いは吸収してくれる。
- 174 名前:デフォルトの名無しさん mailto:sage [2013/07/16(火) NY:AN:NY.AN ]
- >>170
<CRLF>, <LF>を気にせずにプログラミングすると いろいろな不具合が起こる 特にシェルみたいな単純なインタープリター言語はそのせいでバグる Cygwin上だと<CR>部分が邪魔でまともな動作ができないかもしれない そのときどうするかというと dos2unixを使用する(←ここテストに出ます) このコマンドはUNIX系の環境ではだいたい標準で入っているし なければパッケージ管理システムからインストールできる $ dos2unix <file> という具合に実行すれば<CRLF>のファイルが<LF>になる やったね、これで問題なくプログラミングできる と、まあここまでがCygwin上での改行コードの違いとそれによる影響、 対処はどうするべきかという話
- 175 名前:デフォルトの名無しさん mailto:sage [2013/07/16(火) NY:AN:NY.AN ]
- >>170
次に漢字コード? なのだが、まず言葉を正確に使うべきだ「文字コード」と呼ぼう 漢字コードだとnkfのような大昔のプログラムを思い出してしまう 嬉しいことに文字コードはWindows, Cygwin(Windows上)で共通だ この文字コードで保存する、と決めればその文字コードになる。 一応Windowsでの標準文字コードはCP932, 別名Windows-31Jだ。 これはShift_JISの拡張で、一部Shift_JISにない文字を含んでいる。 詳しくはググってください。 Cygwinでの文字コードに関する相違とそれによる影響はそんなに なさそうなので、このへんにしとく。
|

|