のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,667,324人
昨日:no data人
今日:
最近の注目
人気の最安値情報

元スレCygwin + MinGW + GCC 相談室 Part 4

gcc覧 / PC版 /
スレッド評価: スレッド評価について
みんなの評価 :
タグ : - 476 + - cannot + - curses + - pthread + - wcout + - wcwidth + - yum + - リダイレクト + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter

451 = :

>>450
何がわからんのか書いてくれ。
make 一発でビルドできて躓くポイントなんぞ無いぞ。
と、いうか Readme 読め。

452 = :

>>451
そのReadmeがついてないという…

453 = :

>>452

smakeだったら README.compileってファイルがあると思うが

他にもlinux系ツールだと INSTALLってファイルにビルド方法が
書かれていることが多い

456 = :

MinGWのインストーラーって無くなりました?
幾つかの参考サイトはインストーラーが前提になってて
インストールしたいのですけど配布サイトに無くてお手上げ状態です。

457 = :

>>456
俺は公式のMinGWが面倒なのでTDM-MinGW使ってる

http://www.tdragon.net/recentgcc/

これならインストーラもある

458 = :

>>456
lzma で配布されてるデカいアーカイブがひとつあるだろ。
GCC 4.4.0 を使うのに必要なものはそれに全部入ってる。

459 = :

456では無いけど、そのlzmaファイル、今は無いみたいだ
>The "/GCC Version 4/Current Release_ gcc-4.4.0/gcc-full-4.4.0-mingw32-bin-2.tar.lzma" file could not be found or is not available.
>Please select another file.

・・・他のファイルも落とせないし、sf.netがリニューアルしてから調子悪いのか

460 = :

質問した本人です。
こんな早く返事が帰ってくるとは思っていませんでした。反応遅くて申し訳ないです。
とりあえず>>457を使ってみようと思います。
お返事ありがとうございました。

461 = :

>>457を使おうと思ったら>>459と同じ内容が出てきましたorz

462 = :

http://keihanna.dl.sourceforge.jp/mingw/40734/gcc-full-4.4.0-mingw32-bin-2.tar.lzma

463 = :

うげ、やっちまった。直リンになっちまった。ごめんなさい>keihanna

464 = :

今配布サイトに繋げたらインストーラーが追加されてました。
昨日はなんで無かったんでしょうね…。
ともかく使ってみます。
ありがとうございました。

465 = :

http://www.computerworld.jp/topics/ms/156530.html

466 = :

なんか公式のダウンロードページここ最近いろいろ変更されてるね

467 = :

Cygwin+GCC4(非MinGW)で
UTF-16BEのテキストファイルをmmapし、
それをwchar_t型の配列にキャストした場合
wprintf()で出力される文字は、UTF-16BEなのでしょうか?

wchar_tやwprintf()で出力される文字コードは環境依存と聞いた事があるので
Cygwinではどうなっているのかわからないのです。

ちなみに、試しに出力してみましたが、画面表示のロケーションをUTF-16BEにしてるにも関わらず文字化けします。
こちらの設定ミスなのか、仕様なのかがわからないので・・・

470 = :

swab関数でバイトオーダーを入れ替えちまえ

476 = :

cygwin でシェルスクリプトを実行しようとすると
cannot execute binary file
というエラーが出てしまいます。
どうしたらいいんでしょう?

477 = :

シェルは何を使ってんの?

478 = :

>>476
a)Unicode(UTF-16)で保存している
b)BOM付きUTF-8(メモ帳のUTF-8で保存するとコレ)で保存している
のどっちかじゃね?
TeraPadあたりでUTF-8N保存してみたら?

479 = :

387 名前:名無しさん@お腹いっぱい。[] 投稿日:2009/08/10(月) 08:03:10
シェルスクリプトを実行すると
./test.sh : cannnot execute binary file
なるエラーが出てしまいます。
何が悪いんでしょう。
スクリプトは下なのですが

#!/bin/bash
cat data.txt

480 = :

MinGWでgcc 4.4.0を入れたんだが、
gcc -vをすると文字化けするとこあるんだが、なんでだろ?
helloworldで日本語入れて表示させても文字化けしないんだが。

C:\Users\Username>gcc -v
Using built-in specs.
Target: mingw32
・ウ・・ユ・」・ー・ェ・ラ・キ・・: ../gcc-4.4.0/configure --enable-languages=c,ada,c++,fortran,java,objc,obj-c++ --d
isable-sjlj-exceptions --enable-shared --enable-libgcj --enable-libgomp --with-dwarf2 --disable-win3
2-registry --enable-libstdcxx-debug --enable-version-specific-runtime-libs --prefix=/mingw --with-gm
p=/mingw/src/gmp/root --with-mpfr=/mingw/src/mpfr/root --build=mingw32
・ケ・・テ・ノ・・ヌ・: win32
gcc version 4.4.0 (GCC)

481 = :

>>480
>>474

482 = :

上側の化けてるところは「コンフィグオプション」で、下側は「スレッドモデル」だな

483 = :

>>480
ソースコード中に日本語を使うなら -finput-charset や -fexec-charset オプションでエンコーディング指定するのを忘れないように。

484 = :

-finput-charset=cp932 -fexec-charset=cp932

これか

485 = :

>>481-483

即レスthx!
もっと勉強させてもらいます><

486 = :

>>474でDLしたファイルをgcc.moにリネームして置き換えたら、文字化け無くなった。

C:\Users\Username>gcc -v
Using built-in specs.
Target: mingw32
RtBOIvV: ../gcc-4.4.0/configure --enable-languages=c,ada,c++,fortran,java,objc,obj-c++ --disable-sjl
j-exceptions --enable-shared --enable-libgcj --enable-libgomp --with-dwarf2 --disable-win32-registry
--enable-libstdcxx-debug --enable-version-specific-runtime-libs --prefix=/mingw --with-gmp=/mingw/s
rc/gmp/root --with-mpfr=/mingw/src/mpfr/root --build=mingw32
Xbhf: win32
gcc version 4.4.0 (GCC)

>>482が言ってくれたみたいに、
「RtBOIvV」のところって、gcc3.4.5のときだと「Configured with」って表示されてたような。
「Xbhf」のところは、gcc3.4.5のときだと「Thread model」って表示されてたような。
この文字列に意味あるのかな?

487 = :

>>486
いやいや、それ化けてますから!
ちゃんと適用されていればまさに >>482 の通り表示するはずなんだ。

488 = :

>>487
レスthx!

今は、情報収集でググったりしてるところであります。

とりあえず現状は、
(1)コマンドプロンプトの文字コードはCP932。
(2)gcc -vで日本語と思われるところが文字化け。
(3)日本語を含む文章(ファイルの文字コードはSJIS)をprintfで表示させたら文字化けはしない。
(4)gcc3.4.5を入れたら、\shareにlocaleフォルダが無かった(多言語対応してないのかな?)

もしかして、gcc4.4.0の導入方法がダメなのかな?
公式ページからMinGW5.1.4.exeをインストールしたら、gccは3.4.5になってた(とりあえず、C:\MinGWを作成)。
で、公式ページからgcc-full-4.4.0-mingw32-bin-2.tar.lzmaをダウンロードして、
解凍したできたフォルダ達を\MinGWで上書きした。
この方法がそもそもダメとか?

489 = :

MinGW 5.1.4のg++で std::wstring がコンパイルは通るんだが,リンカーエラーになる。(IDEとしてCode::Blocks使用,ソースはBOMなし
UTF-8で書いてる)。環境変数関係の設定はもちろんOKのはず。

#include <windows.h>
#include <string>
using namespace std;

int main()
{
wstring wstr(L"はろー"); //ここと
::MessageBoxW(NULL, wstr.c_str(), L"タイトル", MB_OK); //ここをコメントアウトして
// ::MessageBoxW(NULL, L"はろー", L"タイトル", MB_OK); //ここのコメントを外すとOK
return 0;
}
このプログラムをビルドするとリンカーが,
C:\Documents\Software\CodeBlocks\unitest\main.cpp|9|undefined reference to `std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::basic_string(wchar_t const*, std::allocator<wchar_t> const&)'|
というエラーを吐く。wstringをやめてstringを使い,ソースをSJISにして::MessageBoxAで表示させると問題ない(L”なんたら”のLは外す)。
ヘッダーファイルをgrepで検索したら,

#if defined (_GLIBCXX_USE_WCHAR_T) || defined (_GLIBCXX_USE_WSTRING)

template<> struct char_traits<wchar_t>;

typedef basic_string<wchar_t> wstring;
#endif

#endif

と書いてあったので,念のため _GLIBCXX_USE_WCHAR_T と _GLIBCXX_USE_WSTRING を定義してみたけど
やっぱりダメ(リンカーエラーだから関係なさそうだけど)。何かライブラリが足りないのかな?

490 = :

> 念のため _GLIBCXX_USE_WCHAR_T と _GLIBCXX_USE_WSTRING を定義してみたけど

それが定義された状態で libstdc++.a がビルドされてないとダメなんじゃないか?

491 = :

>>490

> それが定義された状態で libstdc++.a がビルドされてないとダメなんじゃないか?

レスサンクス。
それって、_GLIBCXX_USE_WCHAR_T と _GLIBCXX_USE_WSTRING を定義した上で
libstdc++.a をビルドしろって意味? バイナリ拾ってきてインストールしたんで(ダウンロード
してインストールする方式だったけど)、ソースからビルドするにはどうすればいい?
教えて君でスマン。

494 = :

>>491
libstdc++.aは
C:\MinGW\lib\gcc\mingw32\4.4.0にあるよ

495 = :

>>494
バイナリがどこにあるなんてことじゃなくてビルド方法の話だろ。

496 = :

>>495
> バイナリがどこにあるなんてことじゃなくてビルド方法の話だろ。

その通りです。既存の libstdc++.a をリンクしてのテストはもちろんやってて、
それでうまく行かないのです。

うーん。バイナリダウンロードしてきて、そのままインストーラー任せでやったから、
こういうとき困るね。Code::Blocks使うので、MSYSすらインストールしてない。
もう少し調べてみます。

497 = :

こんな記事があった。
http://www.mingw.org/category/wiki/libstdc

498 = :

もう stlport 使えよ

499 = :

>>497
あちゃぁ、がっくし... 比較的最近の記事だし、そういうことなのかぁ。

>>498
そういうことですかね。検討します。

皆さんアリガト。

500 = :

cygwinでshlwapi(SHell Light Weight API)使うにはどうすんの?
ソースに#include <shlwapi.h>書いて
ldに-lshlwapi食わせてもなぜか失敗する


←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / gcc一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : - 476 + - cannot + - curses + - pthread + - wcout + - wcwidth + - yum + - リダイレクト + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

類似してるかもしれないスレッド


トップメニューへ / →のくす牧場書庫について