私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレCygwin + MinGW + GCC 相談室 Part 5
gcc スレッド一覧へ / gcc とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 :
レスフィルター : (試験中)
cygwin環境でmingwなgccをクロス?ビルドしようと思えば出来るね。
msysの立場が微妙だけど、mingw64でもmsysの配布をやってるんだ。
msysの立場が微妙だけど、mingw64でもmsysの配布をやってるんだ。
mingw32のシェルで日本語の入力ができません。
これは仕様ですか?Cygwinで入力した文字が正しく認識されません。
GCCのバグのようですが解りません。mingwのコンパイラでは同じプログラムで
正常に動きます。日本語処理に詳しい方教えてください。
これは仕様ですか?Cygwinで入力した文字が正しく認識されません。
GCCのバグのようですが解りません。mingwのコンパイラでは同じプログラムで
正常に動きます。日本語処理に詳しい方教えてください。
>>653
問題を整理してくれ。問題を一つずつ主語と目的語を明示して書き直すだけでずっと判り易くなるぞ。
問題を整理してくれ。問題を一つずつ主語と目的語を明示して書き直すだけでずっと判り易くなるぞ。
Cygwinをいじっているうちにおかしくしてしまったようで、
同じプログラムが同じように動きません。文字コードを入力して
表示するプログラムなのですが日本語の2バイトコードが正しく
表示されません。CygwinのGCCでコンパイルするとおかしくなります。
MINGWのコンパイラだと正常に認識します。
もう一つはmingwのシェルですが日本語を入力しようとしても
文字が消えてしまいプログラムに引数渡しができません。
以前は問題なく動いていたと思うのですが今日突然おかしい事に
気づきました。これは今まで気づかなかっただけで普通の現象なの
でしょうか。日本語がコマンドプロンプトから入力できないことは
ないと思うのですができません。
同じプログラムが同じように動きません。文字コードを入力して
表示するプログラムなのですが日本語の2バイトコードが正しく
表示されません。CygwinのGCCでコンパイルするとおかしくなります。
MINGWのコンパイラだと正常に認識します。
もう一つはmingwのシェルですが日本語を入力しようとしても
文字が消えてしまいプログラムに引数渡しができません。
以前は問題なく動いていたと思うのですが今日突然おかしい事に
気づきました。これは今まで気づかなかっただけで普通の現象なの
でしょうか。日本語がコマンドプロンプトから入力できないことは
ないと思うのですができません。
>>657
死ね
死ね
質問です。
普通にmsysをインストールして普通に起動したらDELキーを押したとき「~」が出るわ、
lessコマンドの表示でカーソルキーが使えないわで何か変なんですけど、
どう設定すれば正常になるでしょうか?
普通にmsysをインストールして普通に起動したらDELキーを押したとき「~」が出るわ、
lessコマンドの表示でカーソルキーが使えないわで何か変なんですけど、
どう設定すれば正常になるでしょうか?
msysでcmdのインターフェースがすごく使いにくいからrxvt使おうとしたら日本語だめだめだった・・
minttyは便利だな。
設定もパッチもいらずにそのままで使えるぜ。
minttyは便利だな。
設定もパッチもいらずにそのままで使えるぜ。
gcc-4.6 で mingwrt-3.18, w32api-3.15-1 を build した後、生成されたファイルを上書きインスコ
試しに以下のソースを build してみたんだけど、出来上がった実行ファイルは動かなかった(´・ω・`)
#include <stdio.h>
int main(int argc, char *argv[])
{
printf("hello, world\n");
return 0;
}
どっちが原因で動かない実行ファイルが作成されるのか試してみたんだけど、どうやら mingwrt-3.18 らしい
とりあえず w32api-3.15-1 は、問題無いみたい・・・上のソースじゃ確認にもならないかもだけど・・・
ちなみに環境は XPSP3 の自前ビルドです
えらいひと修正してくんないかな・・・(´・ω・`)スキル無いもれは他力本願ですスマン
試しに以下のソースを build してみたんだけど、出来上がった実行ファイルは動かなかった(´・ω・`)
#include <stdio.h>
int main(int argc, char *argv[])
{
printf("hello, world\n");
return 0;
}
どっちが原因で動かない実行ファイルが作成されるのか試してみたんだけど、どうやら mingwrt-3.18 らしい
とりあえず w32api-3.15-1 は、問題無いみたい・・・上のソースじゃ確認にもならないかもだけど・・・
ちなみに環境は XPSP3 の自前ビルドです
えらいひと修正してくんないかな・・・(´・ω・`)スキル無いもれは他力本願ですスマン
>動かなかった(´・ω・`)
を詳しく書かンと相手にされないよ。ソース晒して、追試してじゃ...
を詳しく書かンと相手にされないよ。ソース晒して、追試してじゃ...
Cygwinにg++の4.5入れたいんですが、ソースしかありません
コンパイル法を教えていただけないでしょうか
コンパイル法を教えていただけないでしょうか
>>670
ビルドされたのあるじゃん(# ゚Д゚)プンスコ!!
ビルドされたのあるじゃん(# ゚Д゚)プンスコ!!
>>667
lto-pluginで
*** Warning: Trying to link with static lib archive ../libiberty/pic/libiberty.a.
ってのが出て、ビルドがこけるぞ
lto-pluginで
*** Warning: Trying to link with static lib archive ../libiberty/pic/libiberty.a.
ってのが出て、ビルドがこけるぞ
>>675
そう言われても・・・
そいえば、libiberty.(a,h) は、binutils のを使った方が良いってググった時に出てきたのを鵜呑みにしてやってるんだけど
実際の所はどうなんでしょうかね?
binutils-2.20.51(20101026) と gcc-4.6(20101023) にある libiberty.h は同じものだったけど、buuild して出来た libiberty.a は
どちらを使えば良いのだろう・・・
>>676
回避方法というか、単に gcc-4.6 で build 仕直した mingwrt-3.18 が NG だったので、gcc-4.5.x で build した時のを使用して
対応しているというだけのことです。
ググっていたら blog に gcc-4.6 の build についてカキコしている方が居たので、参考になるかどうかわかりませんが
http://ra1ndog.wordpress.com/2010/10/22/compiling-gcc-4-6-nightlies-on-windows-with-mingw-and-msys/
そう言われても・・・
そいえば、libiberty.(a,h) は、binutils のを使った方が良いってググった時に出てきたのを鵜呑みにしてやってるんだけど
実際の所はどうなんでしょうかね?
binutils-2.20.51(20101026) と gcc-4.6(20101023) にある libiberty.h は同じものだったけど、buuild して出来た libiberty.a は
どちらを使えば良いのだろう・・・
>>676
回避方法というか、単に gcc-4.6 で build 仕直した mingwrt-3.18 が NG だったので、gcc-4.5.x で build した時のを使用して
対応しているというだけのことです。
ググっていたら blog に gcc-4.6 の build についてカキコしている方が居たので、参考になるかどうかわかりませんが
http://ra1ndog.wordpress.com/2010/10/22/compiling-gcc-4-6-nightlies-on-windows-with-mingw-and-msys/
とりあえず、linuxな環境で作ったmingwなgcc4.6でコンパイルしたruntimeだと
問題ないけどね、hello world
君の環境で動かない時にwindows君はなんか文句は言わんのかね?
なにを基準に動かないと言ってるのかいまいち不明
問題ないけどね、hello world
君の環境で動かない時にwindows君はなんか文句は言わんのかね?
なにを基準に動かないと言ってるのかいまいち不明
>>667
うちは大丈夫
うちは大丈夫
677のサイトのやり方だと出来損ないのgccができそうだけど
動かんgccのconfigureのオプションを晒してくれ
動かんgccのconfigureのオプションを晒してくれ
>>680
binutils-2.20.51
../binutils-2.20.51/configure --prefix=/mingw_new --with-sysroot=/mingw_new --with-build-sysroot=/mingw_new
--build=i686-pc-mingw32 --target=i686-pc-mingw32 --infodir=/mingw_new/share/info --mandir=/mingw_new/share/man
--libdir=/mingw_new/i686-pc-mingw32/lib --includedir=/mingw_new/i686-pc-mingw32/include --enable-64-bit-bfd
--enable-targets=i686-pc-mingw32,x86_64-pc-mingw64 --disable-bootstrap --disable-werror --disable-nls --enable-static
--disable-shared --enable-threads=yes --disable-multilib --disable-libada --enable-libssp --disable-rpath --with-host-libstdcxx=-lstdc++
--with-ppl=/mingw_new/sup --with-cloog=/mingw_new/sup --with-gmp=/mingw_new/sup --with-mpfr=/mingw_new/sup
--with-mpc=/mingw_new/sup --with-libelf=/mingw_new/sup --enable-lto --with-pic --with-zlib --enable-plugins
gcc-4.6
../gcc-4.6-20101023/configure --prefix=/mingw_new --with-sysroot=/mingw_new --with-build-sysroot=/mingw_new
--build=i686-pc-mingw32 --target=i686-pc-mingw32 --infodir=/mingw_new/share/info --mandir=/mingw_new/share/man
--includedir=/mingw_new/i686-pc-mingw32/include --enable-languages=c,c++ --enable-version-specific-runtime-libs --disable-bootstrap
--enable-sjlj-exceptions --disable-win32-registry --disable-werror --disable-nls --enable-static --disable-shared --disable-decimal-float
--enable-threads=win32 --disable-multilib --disable-libmudflap --disable-libada --enable-libssp --disable-libgomp --disable-rpath
--disable-debug --disable-libstdcxx-pch --with-host-libstdcxx='-lstdc++ -lsupc++' --with-ppl=/mingw_new/sup --with-cloog=/mingw_new/sup
--with-gmp=/mingw_new/sup --with-mpfr=/mingw_new/sup --with-mpc=/mingw_new/sup --with-libelf=/mingw_new/sup --enable-lto
--with-system-zlib --enable-fully-dynamic-string --with-pic
binutils-2.20.51
../binutils-2.20.51/configure --prefix=/mingw_new --with-sysroot=/mingw_new --with-build-sysroot=/mingw_new
--build=i686-pc-mingw32 --target=i686-pc-mingw32 --infodir=/mingw_new/share/info --mandir=/mingw_new/share/man
--libdir=/mingw_new/i686-pc-mingw32/lib --includedir=/mingw_new/i686-pc-mingw32/include --enable-64-bit-bfd
--enable-targets=i686-pc-mingw32,x86_64-pc-mingw64 --disable-bootstrap --disable-werror --disable-nls --enable-static
--disable-shared --enable-threads=yes --disable-multilib --disable-libada --enable-libssp --disable-rpath --with-host-libstdcxx=-lstdc++
--with-ppl=/mingw_new/sup --with-cloog=/mingw_new/sup --with-gmp=/mingw_new/sup --with-mpfr=/mingw_new/sup
--with-mpc=/mingw_new/sup --with-libelf=/mingw_new/sup --enable-lto --with-pic --with-zlib --enable-plugins
gcc-4.6
../gcc-4.6-20101023/configure --prefix=/mingw_new --with-sysroot=/mingw_new --with-build-sysroot=/mingw_new
--build=i686-pc-mingw32 --target=i686-pc-mingw32 --infodir=/mingw_new/share/info --mandir=/mingw_new/share/man
--includedir=/mingw_new/i686-pc-mingw32/include --enable-languages=c,c++ --enable-version-specific-runtime-libs --disable-bootstrap
--enable-sjlj-exceptions --disable-win32-registry --disable-werror --disable-nls --enable-static --disable-shared --disable-decimal-float
--enable-threads=win32 --disable-multilib --disable-libmudflap --disable-libada --enable-libssp --disable-libgomp --disable-rpath
--disable-debug --disable-libstdcxx-pch --with-host-libstdcxx='-lstdc++ -lsupc++' --with-ppl=/mingw_new/sup --with-cloog=/mingw_new/sup
--with-gmp=/mingw_new/sup --with-mpfr=/mingw_new/sup --with-mpc=/mingw_new/sup --with-libelf=/mingw_new/sup --enable-lto
--with-system-zlib --enable-fully-dynamic-string --with-pic
>>681続き
w32api-3.15-1
../w32api/configure --prefix=/mingw_new --build=i686-pc-mingw32 --target=i686-pc-mingw32 --libdir=/mingw_new/i686-pc-mingw32/lib
--includedir=/mingw_new/i686-pc-mingw32/include
mingwrt-3.18
../mingwrt/configure --prefix=/mingw_new --build=i686-pc-mingw32 --target=i686-pc-mingw32 --libdir=/mingw_new/i686-pc-mingw32/lib
--includedir=/mingw_new/i686-pc-mingw32/include
w32api-3.15-1
../w32api/configure --prefix=/mingw_new --build=i686-pc-mingw32 --target=i686-pc-mingw32 --libdir=/mingw_new/i686-pc-mingw32/lib
--includedir=/mingw_new/i686-pc-mingw32/include
mingwrt-3.18
../mingwrt/configure --prefix=/mingw_new --build=i686-pc-mingw32 --target=i686-pc-mingw32 --libdir=/mingw_new/i686-pc-mingw32/lib
--includedir=/mingw_new/i686-pc-mingw32/include
>>678
作成された a.exe を実行すると windows がエラーダイアログを表示
a.exe 単体のエラーで ntdll.dll とか他のを巻き込んでのでは無かったです
ちょと今すぐには確認出来ないので、また後でエラー表示内容をアップしたいと思います
作成された a.exe を実行すると windows がエラーダイアログを表示
a.exe 単体のエラーで ntdll.dll とか他のを巻き込んでのでは無かったです
ちょと今すぐには確認出来ないので、また後でエラー表示内容をアップしたいと思います
> --enable-static --disable-shared
にしてるから、mingwrtにもいるんじゃないだろうか?
にしてるから、mingwrtにもいるんじゃないだろうか?
>>681補足
cloog-ppl-0.15.10
gmp-5.0.1
libelf-0.8.13
mpc-0.8.2
mpfr-3.0.0-p7
polylib-5.22.5
ppl-0.11
zlib-1.2.5
----------
bzip2-1.0.6
dlfcn-win32-r19
libiconv-1.13.1
pthreads-w32-2.9.0
cloog-ppl-0.15.10
gmp-5.0.1
libelf-0.8.13
mpc-0.8.2
mpfr-3.0.0-p7
polylib-5.22.5
ppl-0.11
zlib-1.2.5
----------
bzip2-1.0.6
dlfcn-win32-r19
libiconv-1.13.1
pthreads-w32-2.9.0
mingwrt の configure に static.shared の項目無かったから省いているんだけど
後で試して見ます
すいません、眠くなってきたので取りあえず此処までで・・・
レスありがとうございました(´-ω-`)オヤスミナサイZzzz
後で試して見ます
すいません、眠くなってきたので取りあえず此処までで・・・
レスありがとうございました(´-ω-`)オヤスミナサイZzzz
おはようございます。
これから仕事なので手短に
>>684
mingwrt-3.18
configure: WARNING: unrecognized options: --enable-static, --disable-shared
やっぱり、駄目ですね
これから仕事なので手短に
>>684
mingwrt-3.18
configure: WARNING: unrecognized options: --enable-static, --disable-shared
やっぱり、駄目ですね
>>683
windows が表示したエラーダイアログ内容
----------
エラー署名
AppName: a.exe AppVer: 0.0.0.0 ModName: a.exe
ModVer: 0.0.0.0 Offset: 00007fff
----------
windows が表示したエラーダイアログ内容
----------
エラー署名
AppName: a.exe AppVer: 0.0.0.0 ModName: a.exe
ModVer: 0.0.0.0 Offset: 00007fff
----------
>>689追記
hello, world も表示されないまま、エラーで落ちます
hello, world も表示されないまま、エラーで落ちます
上の続き
runtimeをBUILDして、hello worldをコンパイルしてみたけど
特に問題はでなかったな。
動くものと動かないものをバイナリーで比較してみるぐらいしか...
runtimeをBUILDして、hello worldをコンパイルしてみたけど
特に問題はでなかったな。
動くものと動かないものをバイナリーで比較してみるぐらいしか...
>>692
そちらは問題無かったですか・・・
多分、もれの環境が原因なのかもですね
一応、動くものと動かないもの(※1)のバイナリ比較はしてみましたが、GCC-4.6 で生成された実行ファイルのサイズは同じものの
中身は違うものでしたね・・・動かないんだから当たり前か・・・orz
もう少し、色々と試してみようと思います
※1
動くもの:GCC-4.5.2 環境で build した mingwrt-3.18 使用時
動かないもの:GCC-4.6 環境で build した mingwrt-3.18 使用時
そちらは問題無かったですか・・・
多分、もれの環境が原因なのかもですね
一応、動くものと動かないもの(※1)のバイナリ比較はしてみましたが、GCC-4.6 で生成された実行ファイルのサイズは同じものの
中身は違うものでしたね・・・動かないんだから当たり前か・・・orz
もう少し、色々と試してみようと思います
※1
動くもの:GCC-4.5.2 環境で build した mingwrt-3.18 使用時
動かないもの:GCC-4.6 環境で build した mingwrt-3.18 使用時
MinGWを使用して、
リンカスクリプトというものを勉強しています。
1.勉強に使っているソース Test1.c
#include <stdio.h>
int main(void) {
printf("hoge\n");
return 0;
}
2.gcc Test1.cでコンパイル・リンクし出来上がった a.exe をobjdumpで調べたところ、
> objdump -h a.exe
a.exe: file format pei-i386
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 000009b4 00401000 00401000 00000400 2**4
1 .data 00000050 00402000 00402000 00000e00 2**4
2 .rdata 000000d0 00403000 00403000 00001000 2**4
3 .bss 000000e0 00404000 00404000 00000000 2**4
4 .idata 00000294 00405000 00405000 00001200 2**2
となっていました。また、a.exeは正常に動作します。
リンカスクリプトというものを勉強しています。
1.勉強に使っているソース Test1.c
#include <stdio.h>
int main(void) {
printf("hoge\n");
return 0;
}
2.gcc Test1.cでコンパイル・リンクし出来上がった a.exe をobjdumpで調べたところ、
> objdump -h a.exe
a.exe: file format pei-i386
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 000009b4 00401000 00401000 00000400 2**4
1 .data 00000050 00402000 00402000 00000e00 2**4
2 .rdata 000000d0 00403000 00403000 00001000 2**4
3 .bss 000000e0 00404000 00404000 00000000 2**4
4 .idata 00000294 00405000 00405000 00001200 2**2
となっていました。また、a.exeは正常に動作します。
3.最も単純なリンカスクリプトを作りたくて下記をScript1.xの名前で作成しました。
SECTIONS
{
. = 0x00401000;
.text : { *(.text) }
. = 0x00402000;
.data : { *(.data) }
. = 0x00403000;
.rdata : { *(.rdata) }
. = 0x00404000;
.bss : { *(.bss) }
. = 0x00405000;
.idata : { *(.idata) }
}
4.gcc -T Script1.x Test1.cでコンパイル・リンクしたところ下記のエラーが出ます。
..\mingw32\bin\ld.exe: warning: dot moved backwards before `.rdata'
..\mingw32\bin\ld.exe: section .idata.1 [00403000 -> 00403013] overlaps section .rdata [00403000 -> 004030cf]
..\mingw32\bin\ld.exe: section .bss [00404000 -> 004040df] overlaps section .idata.2 [00404000 -> 00404003]
collect2: ld returned 1 exit status
最低限のリンカスクリプトはどう書けば良いのでしょうか?
参考になるサイト等あれば教えて頂けると助かります。
(/MinGW/mingw32/lib/ldscripts/i386pe.xは見ましたが、
ゴチャゴチャしていて私には理解できませんでした。)
SECTIONS
{
. = 0x00401000;
.text : { *(.text) }
. = 0x00402000;
.data : { *(.data) }
. = 0x00403000;
.rdata : { *(.rdata) }
. = 0x00404000;
.bss : { *(.bss) }
. = 0x00405000;
.idata : { *(.idata) }
}
4.gcc -T Script1.x Test1.cでコンパイル・リンクしたところ下記のエラーが出ます。
..\mingw32\bin\ld.exe: warning: dot moved backwards before `.rdata'
..\mingw32\bin\ld.exe: section .idata.1 [00403000 -> 00403013] overlaps section .rdata [00403000 -> 004030cf]
..\mingw32\bin\ld.exe: section .bss [00404000 -> 004040df] overlaps section .idata.2 [00404000 -> 00404003]
collect2: ld returned 1 exit status
最低限のリンカスクリプトはどう書けば良いのでしょうか?
参考になるサイト等あれば教えて頂けると助かります。
(/MinGW/mingw32/lib/ldscripts/i386pe.xは見ましたが、
ゴチャゴチャしていて私には理解できませんでした。)
エラーメッセージからすると .idata.1 と .idata.2 というセクションがあってそれが指定されてないからアドレスが上手く割り当たってないように見える
*(.idata.*) にしてみたら
*(.idata.*) にしてみたら
>>698
とりあえず
*(.idata$*)
にしたらコンパイルリンクは通りました。
出来上がった a.exe を実行するとまともに実行できず、戻り値が127になったので、
i386pe.xを削る方向でやってみたところ下記で正常動作しました。
SECTIONS
{
. = 0x00401000; .text : { *(.text) *(.ctors); }
. = 0x00402000; .data : { *(.data) }
. = 0x00403000; .rdata : { *(.rdata) ___RUNTIME_PSEUDO_RELOC_LIST_END__ = .; }
. = 0x00404000; .bss : { *(.bss) }
. = 0x00405000; .idata :
{
SORT(*)(.idata$2)
SORT(*)(.idata$3)
LONG (0); LONG (0); LONG (0);
SORT(*)(.idata$4)
SORT(*)(.idata$5)
SORT(*)(.idata$6)
SORT(*)(.idata$7)
}
}
↑の何故これだと上手く動くのか私には分かってません。
>>699
見てみます。
とりあえず
*(.idata$*)
にしたらコンパイルリンクは通りました。
出来上がった a.exe を実行するとまともに実行できず、戻り値が127になったので、
i386pe.xを削る方向でやってみたところ下記で正常動作しました。
SECTIONS
{
. = 0x00401000; .text : { *(.text) *(.ctors); }
. = 0x00402000; .data : { *(.data) }
. = 0x00403000; .rdata : { *(.rdata) ___RUNTIME_PSEUDO_RELOC_LIST_END__ = .; }
. = 0x00404000; .bss : { *(.bss) }
. = 0x00405000; .idata :
{
SORT(*)(.idata$2)
SORT(*)(.idata$3)
LONG (0); LONG (0); LONG (0);
SORT(*)(.idata$4)
SORT(*)(.idata$5)
SORT(*)(.idata$6)
SORT(*)(.idata$7)
}
}
↑の何故これだと上手く動くのか私には分かってません。
>>699
見てみます。
前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / gcc スレッド一覧へ
みんなの評価 : 類似してるかもしれないスレッド
- Cygwin + MinGW + GCC 相談室 Part 8 (938) - [97%] - 2022/10/28 8:00
- Cygwin + MinGW + GCC 相談室 Part 7 (996) - [97%] - 2014/9/21 2:15
- Cygwin + MinGW + GCC 相談室 Part 6 (981) - [97%] - 2012/12/30 23:15
- 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
トップメニューへ / →のくす牧場書庫について