[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 2chのread.cgiへ]
Update time : 05/31 23:49 / Filesize : 165 KB / Number-of Response : 659
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Cygwin + MinGW + GCC 相談室 Part 7



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での文字コードに関する相違とそれによる影響はそんなに
なさそうなので、このへんにしとく。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<165KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef