のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,691,578人
昨日: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 + - リダイレクト + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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