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


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

Cygwin + MinGW + GCC 相談室 Part 4



1 名前:デフォルトの名無しさん [2008/09/13(土) 00:38:02 ]
Windows上で動作するフリーの開発環境 CygwinとMinGWに関する相談スレッドです。

過去スレ:
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について part8
pc11.2ch.net/test/read.cgi/tech/1192201659/
【激遅】AppleGCC【絶望】
pc11.2ch.net/test/read.cgi/tech/1173267844/

263 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 20:33:45 ]
>>261
逆に煽り返されたりして、出来もしないくせに下手なことしないほうがいいよなぁ

264 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 20:46:50 ]
>>262
おとなしくVC++いっとけ

265 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 20:55:24 ]
ぜんぶ 1.0.11 なので、どれが新しいのかわかりません。
でも確実に、中身が違うんです。

266 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 21:03:19 ]
すこし分かりかけてきた

1.0.11-1
1.0.11-20080826

これのどっちが新しいか。それさえ分かれば・・・
1 と 20080826 って、どっちが新しいんですか?

267 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 21:14:49 ]
なんか迷宮に迷い込んでいるような気がするなぁ・・・
問題の切り分けをするのであれば、安定版のどの部分が安定
しないのか切り分けるのが先では無いだろうか。
全部最新版に差し替えて安定したところで、どの部分が問題
だったかは結局分からないのでは。

268 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 21:20:20 ]
パッケージとバラを同じ項目においておきながら、
バラの方が古いなんてアホな管理をするやつがいるとも思えんが。

269 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 23:37:06 ]
つーかさ、不安定があるのなら、どういう不安定なのか書けよな〜
他のユーザーのためにもなる。

270 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 00:07:40 ]
俺は MSYS のデバッグしてんじゃねぇぞ。
どの部分が問題だったかは結局分からなくても
安定して使えさえすればOKなんだよ。

271 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 00:43:26 ]
>>270
だからよぉ、他人にもどう不安定か情報出せよ。
自分だけ情報を得られたらそれで桶かよ。
マサにカスだな



272 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 00:46:02 ]
>>270
問題の切り分けをしたいとか言いながらちゃぶ台ひっくり返すし、
ここまでMSYSが問題なんだとは一言も話をしていないし、
しかも大人のふりしたと思ったらまた退行しているし。

273 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 01:34:15 ]
>>271-272
ゴミの相手するなよ

274 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 01:48:09 ]
新しいのと古いのと見分け方を聞きたかっただけなんだが・・・

275 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 01:48:41 ]
もったいぶらずに教エロ

276 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 11:16:12 ]
もったいぶらずに着エロ
ttp://blog-imgs-27.fc2.com/a/p/p/appetite/20050216122706.jpg

277 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 14:50:19 ]
>>276
ありがとうございます。おかげさまで解ケツしました。

278 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 22:53:09 ]
g++ってワイド文字列環境はまともになってる?

g++ (GCC) 3.4.5だと、
std::wcoutって何だか分かりません見たことも聞いたこともありません
的なコンパイルエラーがでちゃうんだよね。


279 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 01:43:37 ]
>>278
今は無理。まともにサポートできる見通しが立たないから宣言自体が無効化されてる。

今公開テスト中の Cygwin 1.7 には wchar_t 関連の C 標準関数がひととおり実装されてるんで、
その上で動く g++ なら使えるようになるかもしれない。

280 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 03:23:49 ]
>>278
この4.3.3使え
ttp://www.tdragon.net/


281 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 08:30:19 ]
そもそも何でMinGWって最新のGCCを同梱してないの?

>>279
ふーん、まだダメダメなのか。残念だ。

>>280
TDM/MinGW Installer
1.902.0
Released 2009-02-28 Bundled Installer: [tdm-mingw-1.902.0-f1.exe] (23.8 MB)
Includes C and C++ SJLJ packages from GCC 4.3.3 TDM-1, plus binutils (2.19.1), mingw-runtime (3.15.2),
w32api (3.13), mingw32-make (3.81-20080326-3) and gdb (6.8-mingw-3).
ってやつか?すげぇなコレ。
いわゆる人柱版ってことかな?



282 名前:デフォルトの名無しさん [2009/03/14(土) 17:36:13 ]
UNIX/Linux初心者です。
会社でfork/FIFOを使用した開発をやっていて家でもお勉強できるようにとCygwinインストールしました。
でもうまく動いてくれません。chi 3-25で、Device or resource busyが発生します。
Cygwinの仕様でしょうか?

// プロセス作成
p = fork();
if(p == -1) exit(1);
if(p > 0) {
sprintf(fname_p, "%s-%d-%d", FIFO, p,1);
}
if (p == 0) {
p = getpid();
//子側FIFO名前
sprintf(fname_c, "%s-%d-%d", FIFO, p,1);
//親側FIFOのメーク待ち
while(1){
if(access(fname_c, F_OK) == 0) break;
sleep(1);
}
//読み込みパイプ開
fifo_cr = open(fname_c, O_RDONLY);
if(fifo_cr == -1){
printf("chi 3-25 error open fifo\n",fname_c);
err_no = errno;
perror("err_no"); exit(6);
}

省略




283 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 18:40:21 ]
>282
質問の答えじゃないが、fork するんなら pipe(2) 使えばループで待つ必要もないんじゃないの?

284 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 19:52:06 ]
>>282
質問の答えじゃないが

printf("chi 3-25 error open fifo\n",fname_c);
err_no = errno;

これはダメだろう常識的に

285 名前:デフォルトの名無しさん mailto:sage [2009/03/17(火) 11:38:28 ]
質問の答えじゃないが、popen()で事は足りないのかな?

286 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 07:03:44 ]
ファイルを先頭から順次読み込むプログラムで,
以下のようなものを書いたのですが,ファイルの途中なのにもかかわらずループを抜けてしまいます.
(どうも0x1Aを読み込んだときにbreakがかかるようです.)

for ( ; ; ){
c = fgetc(fp);
if (c == EOF)
break;
/*
省略
*/
}

Linux上のgcc(2.95.3)でコンパイルした場合は正常に動くのですが,
MinGW(5.1.4)だと前述したように,正常に動きません.(fgetcの仕様が違うのでしょうか)
とてもくだらない質問に思えて恐縮なのですが,解る方がいたら教えてください.

287 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 07:55:26 ]
fopenでtext modeでファイルを開くと、0x1aをEOF(=CP/Mの)と見なすから。
www.google.co.jp/search?q=fopen+EOF+0x1a

288 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 07:56:24 ]
mingwのライブラリはVC仕様なので
バイナリモードで開いてみては
fp = fopen( path, "rb" ); // こんな感じ?

# たしか Windows/DOS ではテキストモードで開くと 0x1a を
# EOF として扱う仕様だったような気がする
# unixはテキストモードはなし

289 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 08:33:39 ]
>>287-288
素早い返答ありがとうございます.
ご指摘のとおり,fopenのモード指定の問題でした.

VC系だとテキスト/バイナリの区別がある,というのを初めて知りました.
googleにもスバリ書いてあることだったようで,お恥ずかしい限りです.

290 名前:デフォルトの名無しさん [2009/03/22(日) 23:13:40 ]
CygWinでgprofかけても時間情報が取れないのですがどうすればプロファイル取れる
でしょうか。
g++のコードのプロファイルが取れる方法よろしくです。gprofて最近は使われてない?

291 名前:デフォルトの名無しさん mailto:sage [2009/03/23(月) 05:44:56 ]
gccのバージョンによって、gmonのフォーマットが途中で変わってるので、
gccかgprofのバージョンを変えてみると良いらしい。MinGWもgcc3.4.5と
手元のgprofとの組み合わせではダメで、gcc4.3.2や4.3.3では取れるなあ。
これは古いgprofを試さないといけないのかな。



292 名前:デフォルトの名無しさん [2009/03/25(水) 21:09:34 ]
>>291
CygWin/g++でgprof以外にプロファイル取るすべあるでししょうか?
最近の人はどうやってプロファイル取ってるの?

293 名前:デフォルトの名無しさん mailto:sage [2009/03/25(水) 22:50:40 ]
>>291
横レスだけど情報ありがとう。

古い MinGW の gcc 3.2.3 + gprof 2.13.90 だと OK で
比較的新しい gcc 3.4.5 + gprof 2.18.50 だと NG なんで困っていた。
MinGW の binutils-2.18.50 にはバグがあって gprof が正常に動作しないらしい。
www.nabble.com/gprof-time-accumulation-problem-td19125108.html
binutils-2.17.50 だと問題ないということなのでダウングレードして
gcc 3.4.5 と一緒に試したところ、正しく統計情報が取れるようになった。

294 名前:291 mailto:sage [2009/03/26(木) 00:45:20 ]
すっかり忘れてたけど、次の日動かしてみたら、MinGW 3.4.5とgprof 2.19、2.19.1での動作を確認した。
だから前回書いたことは、全くの見当違いでgprof 2.18.50だけの問題みたい。ごめんね

>>292
おそらくだけど、プロファイラ自体を使ってる人が少なく、使ってる人も自前で
gprofをbuildか、バージョンダウンしてる。

295 名前:デフォルトの名無しさん mailto:sage [2009/03/26(木) 07:02:43 ]
まあ、わざわざMinGWでgprof使おうと思う人は少ないだろうなぁ。


296 名前:デフォルトの名無しさん mailto:sage [2009/03/27(金) 11:07:23 ]
cygwin/mingwがターゲットになることは少ないので、gprofするのはLinux上になることが多いなぁ。私のところでは。

297 名前:デフォルトの名無しさん mailto:sage [2009/03/31(火) 03:34:28 ]
test


298 名前:デフォルトの名無しさん [2009/04/03(金) 07:16:03 ]
質問です。PC-98のMS-DOS上でDJGPPとNASMとBorland C++ 3.1Jでプログラムを
組んでますが、たとえばHello, World!を作ってもDJGPP(GCC v4.3.2)では異常に
実行ファイルのサイズが肥大化します。動作もBCCでコンパイルしたものより
重いです。

DJGPPのFAQによると、「DJGPP(DOS版GCC)はメモリモデルにflatを用いており、
プロテクトモードで4GBまでのメモリを扱えるようにしています」とのことなんですが、
これが原因ですか?ちなみにHELLO.EXEを実行するにしても、DPMIサーバ(cwsdpmi.exe)が
必要という糞仕様です。開発マシンはPC-9801DA2(80386 20MHz + Cyrix 387コプロ;
RAM 13.6MB; SCSI HDD 4.3GB; 緑電子SCSI-2ボード; NEC版MS-DOS 6.2)です。

HELLO.EXEのファイルサイズとコンパイル時間は
BCC = 6.6KB ; コンパイル時間 = 5秒
DJGPP = 44KB ; コンパイル時間 = 2分近く
NASM = 22Bytes ; コンパイル時間 = 3秒
(コンパイルオプションは、
A:\>bcc -ms -O2 hello.c
A:\>gcc -Wall -O2 -s -fomit-frame-pointer -o hello.exe hello.c
A:\>nasm -fbin -o hello.com hello.asm
です)

異常な事態です。これはDJGPP(GCC)の仕様なんでしょうか!ご教示ください。
ちなみに同機能をDOSファンクションコールAH=09Hでフルアッセンブル実装した
HELLO.COMはわずか22バイトですOrz K6-2 550MHz/64MB/18GBのX-Mateがあるんですが、
それでやっても処理系の差異は変わらないですよね?

299 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 07:20:27 ]
16bitコンパイラと32bitコンパイラで比較して何がしたいの?

300 名前:298 mailto:sage [2009/04/03(金) 07:26:38 ]
× X-Mate
○ X-MATE

どうしてもDJGPP(GCC4.3.2)だと44KB近くなってしまうようで、
三秒のウェイトを置くdelay機能も、GCCとBCCで同等のものがありますが、
BCC版は8KB程度、GCC版は48KBほどになり、気違いじみています。

やはりDOSファンクションコール AH=2CHでフルアッセンブル実装した
DELAY3K.COMは、ファイルサイズが22バイトでCPU負担も全くありません
(HELLO.COMは28バイトでしたすいません)。
Borland C++ v3.1Jは中古でオクで競って7千円で買ったので製品とはこういうものだと
いわれればそれまでですが、ちゃんとstripもしてるのに、これ以上はGCCは無理ですか!?

301 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 07:39:15 ]
たぶんこのスレにそんなマニアックなケース答えられる人はいないんじゃないかと。



302 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 07:59:25 ]
DPMIはDOSエクステンダの下請けに過ぎず
DJGPPのリンカはDOSエクステンダに相当するものをスタブとして取り込んでいるから出力ファイルが大きくなる

303 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 08:08:37 ]
go32.exeが組込まれるんだっけ

304 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 08:09:50 ]
他にも即値やディスプレースメントが32bitで大きくなったり、アラインメントが32bitになったりで
いくらでも16bitコードより大きくなる要素はある

305 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 08:18:41 ]
んなもん、gccのバイナリがデカのは今も昔も変わらん。
go32とか関係なく
vcとMingw gccではやはりバイナリサイズが全然違う。

306 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 10:13:49 ]
>>298
そんな過去の鈍足PCを今のPCと較べても、全く意味がありません。
それとも、クロック周波数の20MHzという意味が理解できませんか?
いずれにしても、鼬害です。レトロPC板にでもお帰りください。

307 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 10:25:40 ]
298 みたいな時空を超えた書き込みを
太鼓腹のオッサンがシコシコ打ちこんでると思うとキモイな

308 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 10:41:15 ]
同族嫌悪というやつですか?

309 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 11:25:52 ]
PC-9801にMS-DOSとはまた懐かしいものを出してくるなあ

310 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 12:48:25 ]
あんまり虐めてやるなよ

311 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 14:54:36 ]
古いものを好き好んで触るのは人の自由だと思うが
騒ぎ方がどうにもキチガイじみてキモいな



312 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 23:12:56 ]
その3つを比べることに何の意味があるんだか…
#とりあえず「DJGPPってまだあったんだ」とか思った

313 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 06:16:12 ]
レトロPCを使ってる時点で処理効率など問題外なのだから
32bitコードなど中途半端にひよったものを使わずに
堂々と16bit縛りでいくべき

314 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 12:53:48 ]
dosプログラミングはずっと無料版のLSI C86使ってたな。
farポインタとか懐しい。

315 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 15:03:43 ]
>>300 7000円あるなら中古でWindows98の入ったPC買えるだろww

316 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 22:33:46 ]
そうかなあ

317 名前:298 mailto:sage [2009/04/10(金) 04:12:14 ]
>>315
その後、BCC v3.1J+TASMとか、NASM 2.06rc1で楽しくプログラミングしてます。

先日、皆さんのご指摘通り、32Bit Cコンパイラと16Bit時代のコンパイラを
比較する浅学さを自己批判しました。GCCはWinXPのPC/ATマシンで活躍してます。
自分は普通にCygwinのバイナリパッケージを使ってます。

あと、Borland C++ Development Suite 5.0Jというのを、CDだけ入手しました。
オクで\2,000でした。印刷物のマニュアルがないのがイタいですが、
Win95/NT3.51/DOS/OS/2対応の総括的位置付けのバージョンっぽいので、
おいおい試したいです…って、GCCと関係なさ過ぎたwすいませんww

318 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 16:37:09 ]
すいません 質問下手かもしれないけどよろしいでしょうか?
Cygwinのインストール時、boostも一緒にインストールすることができますよね?
私の場合はver(?)1_33_1なので/usr/include/boost-1_33_1/boost に主なファイルが展開されました。

次はcppファイルのコンパイルなんですが

#include <boost/thread.hpp>

↑を含んだa.cppファイルをコンパイルする場合、
$ g++ a.cpp -I"/usr/include/boost-1_33_1/" -lboost_thread-gcc-mt

といったコマンドで通りました。んで、
$ ./a.exe

で一応exeファイルは実行できるんですが、生成したexeファイルはコマンドによる実行は有効のようで、
winからのダブルクリック起動だと
「cygboost_thread_gcc_mt-1_33_1.dllが見つかりません」といったメッセージがでます。。。
どうすれば改善できるでしょうか?多分boostの参照あたりも間違っていると思うんですが・・・
あんまりUNIXコマンドは詳しくないのでちんぷんかんぷんですw


319 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 17:21:34 ]
>>318
$ cygcheck ./a.exe を実行してcygboost_thread_gcc_mt-1_33_1.dllの存在するディレクトリを調べて、
Windowsの環境変数PATHに追加する。


320 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 17:58:14 ]
>>319
実行してみたけど無理でした・・・
そもそもboostを導入する方法はこれでよかったのでしょうか・・・

321 名前:319 mailto:sage [2009/04/12(日) 18:50:24 ]
正確に書いてくれ。「実行してみたけど無理でした・・・」はどうなったのかわからん。
1)cygcheckが実行できなかった。
1-1)cygcheckが見つからなかった
1-2)cygcheckが見つかったが、cygcheckの実行時にエラーが出た。
1-3)cygcheckが見つかり、cygcheckの実効でもエラーが出なかったが、cygboost_thread_gcc_mt-1_33_1.dllが見あたらなかった。
2)cygcheckが見つかり、cygboost_thread_gcc_mt-1_33_1.dllが存在するディレクトリも判明したが、Windowsの環境変数PATHの設定で
2-1) Windowsの環境変数PATHを設定する方法がわからない
2-2) Windowsの環境変数PATHを設定する場所はわかったが、PATHの書式を知らない。
2-3) Windowsの環境変数PATHをユーザ環境変数とシステム環境変数のどちらに設定すればよいかわからない。
2-4) Windowsの環境変数PATHをユーザ環境変数に追加したが、改善しなかった。
2-5) Windowsの環境変数PATHをシステムザ環境変数に追加したが、改善しなかった。
3) 他にもあるかもしれんが、エスパーするのに疲れたのでここまで。




322 名前:318 mailto:sage [2009/04/12(日) 19:01:03 ]
check成功

cygboost_thread_gcc_mt-1_33_1.dllの場所が分かった
私の場合はD直下にcygwinフォルダがあるのでD:\cygwin\binにあった

環境変数PATH
コントロールパネル→システム→詳細から
片方ずつと両方で3パターンで試しした。
両方とも変数名はPATH 変数値はD:\cygwin\bin;D:\cygwin\usr\bin; %PATH%

直らない いまここです
2-4 or 2-5ってとこです。。。

323 名前:319 mailto:sage [2009/04/12(日) 19:01:48 ]
$ cygcheck -cd | grep boost
boost                1.33.1-4
boost-devel          1.33.1-4
libboost             1.33.1-4

$ g++ -Wall -Wextra boost_exam.cpp -I"/usr/include/boost-1_33_1/" -lboost_thread-gcc-mt

$ ls a.exe
a.exe*

$ cygcheck ./a.exe
.\a.exe
  C:\cygwin\bin\cygboost_thread-gcc-mt-1_33_1.dll
    C:\cygwin\bin\cygwin1.dll
      C:\WINDOWS\system32\ADVAPI32.DLL
        C:\WINDOWS\system32\KERNEL32.dll
          C:\WINDOWS\system32\ntdll.dll
        C:\WINDOWS\system32\RPCRT4.dll
          C:\WINDOWS\system32\Secur32.dll


324 名前:319 mailto:sage [2009/04/12(日) 19:10:05 ]
>>322
Windowsの環境変数にd:\cygwin\binを追加してから、
**新たに** Windowsのコマンドプロンプトを開いて「echo %PATH%」を実行し、
cygwinのパス(今回だとd:\cygwin\bin)が存在することを確認する。


325 名前:319 mailto:sage [2009/04/12(日) 19:14:04 ]
確認できました

326 名前:319 mailto:sage [2009/04/12(日) 20:36:56 ]
>>326
じゃあ、次に、そのコマンドプロントで「ls --version」を実行してみる。
d:\cygwin\binにパスが通っていれば(= PATHの設定が正しいなら)、
下のようにlsコマンドのバージョン情報が表示されるはず。

ls (GNU coreutils) 6.10
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by Richard Stallman and David MacKenzie.

で、この状態でエクスプローラーから、さっきのa.exeを実行してみる。
もし「cygboost-thread-gcc-mt-1_33_1.dllが見つかりません。……」のエラーが出るようなら、
「Windowsをログアウト」「再ログイン」する(= explorerにユーザー環境変数を反映させる)
ちなみに、「システム環境変数PATH」の方を変更したら、Windowsを再起動してから試すこと。


327 名前:318 mailto:sage [2009/04/12(日) 20:39:47 ]
ええ!?再起動しないと駄目なのかい!?

328 名前:319 mailto:sage [2009/04/12(日) 20:50:50 ]
Explorerに環境変数を反映させるには、Explorerプロセスの再起動が必要。
Windowsの環境変数はExplorerの親プロセスに設定される。しかし、それを子プロセスに反映するには、子プロセスを再起動する必要がある。
(これはWindowsだろうと、UNIXだろうと、MS-DOSだろうと、同じ)。

もっとも、今回はExplorerだからログアウト→ログオンで、行けそうな気がする。(面倒なので試してない)

なお、Windowsサービス (ApacheとかPostgreSQLとか)に環境変数の変更を反映させるなら、Windowsサービスの親プロセスの再起動、つまりWindowsの再起動が必要。


329 名前:318 mailto:sage [2009/04/12(日) 20:52:35 ]
やった!!できました!!
長い時間ありがとうございました


330 名前:319 mailto:sage [2009/04/12(日) 21:00:50 ]
おめでとう。これで肩の荷が下りたよ。

331 名前:デフォルトの名無しさん [2009/04/27(月) 14:40:09 ]
MinGW(gcc3.4.5)でSTLport5.2.1のビルドができない理由がやっとわかりました

STLport5.2.0でMinGWのサポートは一旦打ち切りになっているようです
従ってSTLport5.1.7以前を使う必要があります

それから少しファイルの修正が必要です

1. Open the file "stlport\stl\config\user_config.h" to uncomment the macro _STLP_NEW_PLATFORM_SDK.
2. Locate the following lines in file "stlport/stl/config/_gcc.h":

# if defined (_STLP_NEW_PLATFORM_SDK)
/* For the moment the Windows SDK coming with Mingw still mimik the old platform SDK. */
# undef _STLP_NEW_PLATFORM_SDK
# endif

then comment all these lines or replace them with:

# include <w32api.h>

# if (__W32API_MAJOR_VERSION > 3) || ((__W32API_MAJOR_VERSION = 3) && (__W32API_MINOR_VERSION >= 12))
# if !defined(_STLP_NEW_PLATFORM_SDK)
# define _STLP_NEW_PLATFORM_SDK 1
# endif
# endif

以上の修正でコンパイルできます
std::mapを使うと__tmpが初期化前に使われているとか警告が出ますが
無視していますけどいいのでしょうか?



332 名前:デフォルトの名無しさん mailto:sage [2009/04/27(月) 14:41:35 ]
なお上記の修正は次のFORUMから引用しました

sourceforge.net/forum/forum.php?thread_id=3036652&forum_id=490891

333 名前:デフォルトの名無しさん mailto:sage [2009/04/30(木) 09:21:49 ]
エラーメッセージの日本語化って進んでますか?

334 名前:デフォルトの名無しさん mailto:sage [2009/04/30(木) 16:21:30 ]
日本語化されたエラーメッセージ見ても、分からないという落ち?

335 名前:デフォルトの名無しさん mailto:sage [2009/04/30(木) 22:02:55 ]
>>333
1.7でLANG=ja_JP.UTF-8なら、日本語のメッセージカタログ持ってるやつは、日本語でメッセージを出す模様。
メインの環境を1.7に切り替えたんだが、localeまわりはまだ微妙だな……。まぁ、壊滅状態の生1.5よりはマシだけど。
しかし、ちゃんと動くようにする意志はあるんだろうか。


336 名前:デフォルトの名無しさん mailto:sage [2009/05/03(日) 12:42:57 ]
MSYSのm4が古い問題ってどうやって回避するの?

337 名前:デフォルトの名無しさん mailto:sage [2009/05/03(日) 17:47:45 ]
Component Object Model使うサンプルください
(しかし略すとCOMなんて最低な名前・・・検索で余計なのがひっかかりまくりw)

338 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 12:20:21 ]
gccでC言語のプログラムをコンパイルしたら、
そのライセンスって制限付く?
標準Cライブラリはgccのものを使うとして。

339 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 12:32:56 ]
GPL/LGPLでは。

340 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 12:45:10 ]
確かgccを改変してMy_Compilerとかいうソフトを作るんならGPLだが、
産物に関してはGPLが及ばないのではなかったかな?
libstdc++とかも例外条項付きGPLだから大丈夫とか聞いた気がするけど。
どなたか有識者plz!

341 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 12:57:38 ]
>>340
前者GPL、後者LGPL。



342 名前:338 mailto:sage [2009/05/04(月) 13:15:47 ]
>>339-341
なるほど、産物にも影響するのね。
どんなにヌルくてもLGPLが要求されるなら到底 仕事じゃ使えないわな。。。


343 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 13:23:40 ]
そこらの家電には結構入っているがな。
どんな仕事だよ。

344 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 13:28:46 ]
>340
GCC については
www.gnu.org/licenses/gpl-faq.html#CanIUseGPLToolsForNF
で、libstdc++ については
ttp://gcc.gnu.org/onlinedocs/libstdc++/faq.html#faq.license.what_restrictions
で、コンパイル対象のコードのライセンスに対しては制約なしとなってる。

345 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 13:28:57 ]
>>343
リバースエンジニアリングされると困る仕事。
まあどうせされるんだろうが、それにしたってLGPLだと明示的に禁止出来ないじゃない。

346 名前:338 mailto:sage [2009/05/04(月) 13:40:41 ]
>>344
おお、決定打ありがとう。
libstdc++はつまり
「オープンソースにしてくれるとうれしいけど、
まあそうじゃなくても良いよ。特に制約は科しません」
という事だよね。
ここは理解出来たのだがGCCについては今ひとつだ。
よろしければ教えていただけませんでしょうか?
「GCC(や他のGPLでライセンスされたエディタなど)を使って
開発されたソフトウェアには何ら制約はありません。」
「しかしBisonは自身のコードの一部をコピーするのでGPL強制です。」
BisonとやらはGCCの一部なのかい?
だとするとやっぱりGCCを使うと結果的に産物もGPL強制?


347 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 13:45:53 ]
>>346
ソースをベースにしたらGPL
ライブラリ/バイナリを使ったらLGPL
と覚えておけばいい。

明示的な禁止に意味があるとは思えないが。

348 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 13:51:38 ]
>>347
LGPLだとライブラリをstaticリンクした時が致命的じゃね。
ソースコードまたはオブジェクトコードの配布を拒否してはならない
だと!?

349 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 13:52:42 ]
>>348
心配すんな、ダイナミックリンクも対象だ。
今時何言ってるんだ、おまえは。

350 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 13:53:40 ]
>>349
え?ダイナミックリンクでもソース開示強制なの?

351 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 13:58:40 ]
>>350
自分で書いたことも読めないのか。
とりあえずまず自分で読んだらどうだ。



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

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

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


353 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 14:02:06 ]
>>350
いや再確認してるだけだろ、無能はだまっとれ。


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

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

355 名前:346 mailto:sage [2009/05/04(月) 15:03:55 ]
>>352
>>354
なるほど、だいぶ分かりました。
GCCは非フリー利用にも耐えうる事が
ちゃんとオフィシャルに示されているわけですね。
GCCが発展した理由が分かったような気がしてきました。


356 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 12:29:02 ]
C++ code - 28 lines - codepad
ttp://codepad.org/1sFiMF2t
このコードで
g++ (GCC) 3.4.5 (mingw special)にて
コンパイルオプション -O2 -Wall
としたときに発生する警告について、皆様のお知恵をどうかお貸しください。

C:/PROGRA~1/mingw/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.
4.5/bits/stl_tree.h: In member function `typename std::_Rb_tree<_Key, _Val, _Key
OfValue, _Compare, _Alloc>::_Link_type std::_Rb_tree<_Key, _Val, _KeyOfValue, _C
ompare, _Alloc>::_M_copy(const std::_Rb_tree_node<_Val>*, std::_Rb_tree_node<_Va
l>*) [with _Key = std::string, _Val = std::pair<const std::string, int>, _KeyOfV
alue = std::_Select1st<std::pair<const std::string, int> >, _Compare = std::less
<std::string>, _Alloc = std::allocator<std::pair<const std::string, int> >]':
C:/PROGRA~1/mingw/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.
4.5/bits/stl_tree.h:1029: warning: '__top' might be used uninitialized in this f
unction
C:/PROGRA~1/mingw/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.
4.5/bits/stl_tree.h:365: warning: '__tmp' might be used uninitialized in this fu
nction
というwarningが出てしまいます。

g++ 〜〜.cpp -O2
でも
g++ 〜〜.cpp -Wall
でもwarningが出ないのですが
g++ 〜〜.cpp -O2 -Wall
だとwarningが出てきます。

[C++] MingW warning in one of the stock sources? - GameDev.Net Discussion Forums
ttp://www.gamedev.net/community/forums/topic.asp?topic_id=523290
ここの人も同じような問題に当たっているようですが、これは何がおかしいのでしょうか?

357 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 10:14:00 ]
>>356
詳しいことは知らんが、その警告は最適化しないと出てこない。
要は、最適化のフェーズで変数を未代入で参照しているようなパスを見出しているのだろう。
手元の3.4.4のソースだと、どちらも関数の戻り値で初期化しているように見えるのだけど、3.4.5で変わったのかもしれない。
尤も、例えば次のようなコードでもその警告は出るので余り心配する必要はないだろう。
--
int main()
{
int foo;
for (int ic = 0; ic < 10; ++ic) {
if (ic) {
++foo;
} else {
foo = 0;
}
}
printf("%d\n", foo);
return 0;
}


358 名前:356 mailto:sage [2009/05/07(木) 11:30:15 ]
>>357
良い例ありがとうございます。
では、心配しないで進むことにします。
お世話になり、ありがとうございました。

359 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 11:42:18 ]
どうでもいいけど、>357のソースをgcc -std=c99 -O3 -funroll-loops -Wallしたら警告が消えた。
どうやら、O3の最適化とunroll-loopの組み合わせでループを全展開して代入だけにしてしまうらしい。
と思ってアセンブリ出力を見たら只管インクリメントしていて笑えた。

360 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 21:45:44 ]
>>356
Binary Hacksに>>357が言ってることが書いてあった気がする

361 名前:デフォルトの名無しさん [2009/05/13(水) 16:56:51 ]
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 名前:デフォルトの名無しさん mailto:sage [2009/05/13(水) 22:53:42 ]
今のcygwinはsetlocaleをほとんど無視する仕様だった希ガス

363 名前:デフォルトの名無しさん mailto:sage [2009/05/13(水) 23:28:01 ]
>>362
setlocaleはCygwin-1.7なら一応動く。(つか、setlocaleしないとまともに動かず、それはそれで困っているので現在hack中)
ただし、wcwidth/wcswidthも腐ってるので、ncursesw使っても日本語はNGというしょぼーんな結果に。
そのうち何とかするつもりなので気長に待て。







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

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

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