のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,062,899人
昨日: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

    351 = :

    >>350
    自分で書いたことも読めないのか。
    とりあえずまず自分で読んだらどうだ。

    352 = :

    >>346
    > libstdc++はつまり
    > 「オープンソースにしてくれるとうれしいけど、
    > まあそうじゃなくても良いよ。特に制約は科しません」
    この翻訳(意訳)でOK。
    > 「GCC(や他のGPLでライセンスされたエディタなど)を使って
    > 開発されたソフトウェアには何ら制約はありません。」
    ここもこの翻訳(意訳)でOK。
    > 「しかしBisonは自身のコードの一部をコピーするのでGPL強制です。」
    ここもこの翻訳(意訳)でOK。

    > BisonとやらはGCCの一部なのかい?
    > だとするとやっぱりGCCを使うと結果的に産物もGPL強制?
    現在のGCC(g++しか記憶にないが)はbison使わないんじゃなかったか?

    以上まとめると、商用利用も万事OKで全く制約はないと思われ。

    353 = :

    >>350
    いや再確認してるだけだろ、無能はだまっとれ。

    354 = :

    >346
    元々この FAQ の項は GPL なツールを使ってフリーじゃないプログラムを開発できますか?という項。
    で、問題ないというのが最初の段落なんだけど、自身のコードの一部をコピーするものもある、というのが次の段落に説明されていて
    その例として Bison (構文解析器を作成する為のツール) が挙げられている。
    コピーされたコードについては元々のライセンスが適用されるんだけど、Bison に関して言えば例外が認められていて非フリーの
    プログラム作成に使っても問題ない、というのが最後の段落。
    仮に GCC が Bison を利用していたとしても影響を受けるのは GCC まで。
    結局、いずれにしろ GCC の生成物を非フリーとして利用してもよい。

    まとめると GPL なツールを用いて非フリーのプログラムを作成しても基本OKだけど、ソースをコピーするものについては
    それぞれ例外条項があるかどうか確認するべし、となる。

    355 = :

    >>352
    >>354
    なるほど、だいぶ分かりました。
    GCCは非フリー利用にも耐えうる事が
    ちゃんとオフィシャルに示されているわけですね。
    GCCが発展した理由が分かったような気がしてきました。

    361 = :

    GNU ncursesで日本語表示をするやり方を教えてください。
    環境はWindows Vista Businessのcygwinです。
    configure --enable-widecの後makeしたncursesを使っています。
    コンパイルはgcc test.c -lncurseswです。
    "ほげほげ"と表示させたいのですが文字化けしてしまいます。
    ただのprintf("ほげほげ");は正常に表示されています。
    ソースは以下です。
    <ncursesw/ncurses.h>
    #include <locale.h>
    main(){
    setlocale(LC_ALL,"");
    initscr();
    addstr("ほげほげ");
    refresh();
    sleep(1);
    endwin();
    }
    google検索してみた結果、ほぼ同じ状況の方を見つけ、
    Windows Service for Unix3.5を使うと表示できるようであることはわかったのですが、vista なので困っています。
    cygwinで文字化けせずに表示する方法はないでしょうか。

    362 = :

    今のcygwinはsetlocaleをほとんど無視する仕様だった希ガス

    363 = :

    >>362
    setlocaleはCygwin-1.7なら一応動く。(つか、setlocaleしないとまともに動かず、それはそれで困っているので現在hack中)
    ただし、wcwidth/wcswidthも腐ってるので、ncursesw使っても日本語はNGというしょぼーんな結果に。
    そのうち何とかするつもりなので気長に待て。

    364 = :

    cygwinで日本語表示は厳しそうですね・・・
    仮想PCにXPを入れてWindows Service for Unix3.5上で動かしてみたら、
    先のサンプルでの”ほげほげ”の表示の確認ができました。
    仕方がないので、Windows Service for Unix3.5を使っていこうと思います。
    ありがとうございました。

    365 = :

    >>364
    XWindow使えば少しはましだった希ガス。尤も、そこまでしてCygwinにこだわる必要もない黄モス。

    367 = :

    cygwinのwcwidth/wcswidthが腐ってても--enable-widecつけてビルドすると
    libutf8のほうの使うようになるから、おkだった希ガス

    あとはsetlocale(LC_ALL, NULL);が常にja_JP.UTF-8を返すようにしたcygwinのdllと
    少なくてもUTF-8表示に対応した端末(漏れの場合はck
    用意したら表示できたYO

    368 = :

    #include <iostream>

    int main()
    {
    std::cout << "能" << std::endl;
    return 0;
    }

    このコードがg++ 3.4.5 Mingwでコンパイルできません。
    どうすれば良いでしょうか?

    369 = :

    "能\"

    370 = :

    >>369逆じゃねーの?

    372 = :

    gcc --input-charset=cp932 --exec-charset=cp932

    373 = :

    >>368
    http://seclan.dll.jp/dtdiary/2009/dt20090324.htm

    374 = :

    なるほど、文字コードの問題なのですね。
    ありがとうございます。

    376 = :

    なるほど、
    多少の処置が必要なのですか。
    ありがとうございます。

    377 = :

    俺もそれでハマったんで
    本当にMinGWのインストーラは糞だわ
    というか8ビット圏の人間無視してるだろって感じ

    378 = :

    www.tdragon.net/recentgcc
    俺はこれ使ってる

    379 = :

    >>378
    これSTLportの最新版(5.2.1)ビルドできる?

    380 = :

    >>379
    若干の修正が必要だが一応ビルドできた
    EHテストも通ったけど
    ちゃんと使えるライブラリとしてビルドできたかどうかは不明

    381 = :

    MinGWでGDI+ができた人いませんか?

    382 = :

    ハッシュ検索関係hcreate/hsearch/hdestroy
    cygwinにはあってMinGWにはないのな
    -mno-cygwinで使いたきゃ自力で実装するしかないっと

    384 = :

    -- foo.c
    extern void g();
    void f() { g(); }
    --

    gcc -shared foo.c -o foo.so

    こんな共有ライブラリを作る場合、
    シンボルgについて何も知らなくても実行時に解決してくれるはずですが、
    cygwinで同じことをやろうとするとfoo.soがビルドできません。
    (undefined reference to `_g' とldに言われる)
    何か別のオプションが必要なのでしょうか?

    386 = :

    >>385
    あ、cygwinでは-o foo.dllでやってました。

    で、スマソ自己解決
    http://www.bookshelf.jp/2ch/unix/1107587275.html
    の273以降に話が出てました。

    > WindowsのDLLじゃビルド時にシンボル解決をしてやらないといけないんだよね。
    > なんかアホらしい仕様。
    orz

    gcc -shared foo.c -o foo.dll -lowner_of_g
    ちゃんと書かなきゃいけないようです。
    書けない場合は自分でシンボル解決しなきゃいけないのか

    388 = :

    >384
    一応こんなのもあるべ。
    http://alain.frisch.fr/flexdll.html

    389 = :

    >>381
    http://wiki.bb4win.org/wiki/Using_GDIPlus_With_MinGW

    390 = :

    Windows XP SP2です。
    g++ source.cpp
    というコマンドでコンパイルすると、
    コンパイルエラーが大量に出て
    上の方が読めなくなってしまいます。

    コンパイルエラーは、特に最初の方が大事なわけで
    これでは困るのですが、どうしたら全てのエラーメッセージがでるでしょうか?

    g++ source.cpp > result.txt
    の様にリダイレクトしてみたのですがだめでした。

    391 = :

    >>390
    オイオイ。 標準エラー出力をとらなきゃ駄目だろ。

    g++ source.cpp 2> result.txt

    っていうかソースコードをある程度のサイズに分割しておけば、
    最初の方が流れてしまうほど大量のエラーメッセージにはならないはず。

    392 = :

    >>391
    2>
    で取れるのですか。
    初めて知りました。
    ありがとうございます。

    >ソースコードをある程度のサイズに分割しておけば、
    まさにおっしゃる通りです。
    ・・・が、特定のクラスのデバッグ用途のソースなため
    分割の意味があまりなく、またエラーが出る時はソース全てに渡り
    むっちゃくちゃ一斉に出るという特徴がありまして。

    393 = :

    OSの使い方を先に覚えないとな

    394 = :

    boostのmulti_array.hppに関して質問させてください。

    とあるプログラムをコンパイル&インストールしようと思い、cygwinを導入しました。
    コンパイル&インストールにはboostの1.34以上が要求されていました。
    しかし、cygwinのパッケージに含まれていたboostが1.33である事に気付かず、
    そのまま行ってしまい、途中でエラーが出てコンパイルが中断しました。

    そこで漸くboostのバージョンが要求を満たしていなかった事に気付き、
    cygwinのsetup.exeを立ち上げてboostをアンインストールし、
    http://homepage3.nifty.com/kaku-chan/boost/install.htmlを参考に
    最新バージョンのboostをインストールしました。

    その後、もう一度コンパイル&インストールを試してみたのですが、
    途中で、
    checking boost/multi_array.hpp usability... no
    checking boost/multi_array.hpp presence... no
    checking for boost/multi_array.hpp... no
    configure: error: "boost/multi_array.hpp is unavailable"
    とエラーが表示され、コンパイルが止まってしまいます。

    この状態で数時間悩み続けているのですが、どうにも解決の糸口が見つかりません。
    これはboostのインストールがうまくいってないという事なのでしょうか?

    どうぞよろしくお願いします。
    OSはXPのSP2です。

    395 = :

    >>394
    > これはboostのインストールがうまくいってないという事なのでしょうか?

    たぶんそう。
    bjam は cygwin のパス変換ルールを知らないかもしれない。
    実際にどこにインストールされたか探してみなYo

    397 = :

    cygwin使ってんだけどxemacsの中で日本語入力ってどうやればいいんですか?

    398 = :

    >>397
    帰れ、死ね

    399 = :

    概要:

    MSYS1.0のrxvt/sh+cmd.exeで、特定の漢字を含む
    シェルスクリプトを実行できません。

    例:

    $ cat test.sh
    echo "冒"

    $ sh test.sh
    test.sh: line 2: unexpected EOF while looking for matching ``'
    test.sh: line 3: syntax error: unexpected end of file

    test.shはShiftJISで、rxvtの-fnもTerminalに設定しています。
    マルチバイト文字を正しく認識していない為だと思われます。

    対処法を御存じの方は、よろしくお願いします。


    ←前へ 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 + - リダイレクト + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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