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


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

Cygwin + MinGW + GCC 相談室 Part 6



1 名前:デフォルトの名無しさん [2011/05/06(金) 00:25:16.09 ]
Windows上で動作するフリーの開発環境 CygwinとMinGWに関する相談スレッドです。

過去スレ:
Cygwin + MinGW + GCC 相談室 Part 5
hibari.2ch.net/test/read.cgi/tech/1269400706/
Cygwin + MinGW + GCC 相談室 Part 4
pc12.2ch.net/test/read.cgi/tech/1221233882/
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について part9
pc12.2ch.net/test/read.cgi/tech/1246059290/

511 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 16:49:08.70 ]
LoadLibraryしてGetProcAddress(msvcrtdll, "free")では?

512 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 17:37:53.09 ]
msvcrt.dllが(mingwによって)間接的にプロセスのメモリ空間にマップされているなら
LoadLibrary()の代わりにGetModuleHandle()でもいいね

513 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 17:54:09.97 ]
>>511
そっちのほうが簡単ですね
MinGWがmsvcrt.dllを使っているというのは期待してていいんでしょうか


514 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 17:56:55.89 ]
DLLが使っているfreeのアドレスをなんらか判定して取れれば一番いい気がしますけど


515 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 17:58:28.73 ]
この手の解決策はハックなので、ライブラリの実装を直してもらえるなら
直してもらったほうがいいのは間違いないわな
ライブラリがリソース解放用の関数を提供していれば、それがMinGWでビルド
されていようが、MSVCでビルドされていようが、問題ないわけで

516 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 17:59:49.32 ]
>>514
そのDLLのインポートセクションを見れば一応わかるはず
APIフックなどでは使われる手法だけど、ハックだな

517 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 18:02:10.74 ]
msvcrt.dll使ってるとは限らないしなぁ

518 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 18:39:45.66 ]
個別に直してもらえれば一番いいのはそうですけど
いろいろあるのと今後もまたあるかもしれないので
相手の対応に依存せず自分側だけで対応できる汎用的な方法も持っておきたいというのがあるんですよね。
FILE*の受け渡しなんかはインターフェースの定義だから多分変えてもらえないので
同じバージョンのfopenが使いたいとかもあるし。

DLLと関数を指定して、それがインポートされているDLL名を取得して>>511ってのを試そうと思います。

519 名前:デフォルトの名無しさん mailto:sage [2012/02/07(火) 01:56:10.50 ]
bugs.ruby-lang.org/issues/3296
これとかまさに>>516なコードだよな

iconvとかどこでも使われてるのに、エラー通知がerrnoなために
DLL-safeでないってのが終わってる
POSIXだから今更インタフェース変えられるわけもねーし



520 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 00:42:21.69 ]
この手の問題ってメモリの処理はどうなってんだろ?
一つのプログラムが二つ以上の標準ライブラリとリンクしてしまった場合ヒープは適切に管理されるのかな

521 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 01:32:29.29 ]
少なくとも今のCRTだとmalloc()は大して自分じゃ仕事してねーというか
HeapAlloc()に丸投げなので、CRTのバージョンが違ってもOSの側が
矛盾のないように仕事をしてくれるはず
ただし、それぞれがHeapCreate()で自分専用のプールみたいなもんをこしらえて、
そっからHeapAlloc()していく

OSの同じAPIに仕事させてる以上、それらは衝突はしないんだけれども
プールAから確保したメモリをプールBのものとして開放することはもちろんできない
HeapFree()の関数インタフェース見ればわかると思うけど

malloc()やfree()という関数インタフェースからはプールが見えないんだけど裏では
それぞれ専用のプールが使われるわけで、そこが要注意なわけだ

522 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 01:58:28.91 ]
なるほど。低レベルではHeapAllocを使っているならきっと拡張可能で作っていると思うんだが
2つヒープができてしまった場合効率的に使えるのかな?変に制限されるんじゃないかと思ったので

523 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 03:45:52.29 ]
標準ライブラリの数だけallocatorがあれば
ひとつより効率的ではないだろけど、まあそう気にするほどでもないのでは。
C++でもdeleteやdelete[]があって違うんじゃない。


524 名前:デフォルトの名無しさん mailto:sage [2012/02/14(火) 12:21:53.07 ]
mingwのgprofはlinuxのとくらべて制限とかありますか?

525 名前:デフォルトの名無しさん mailto:sage [2012/02/14(火) 12:36:18.05 ]
ありがとうございます。
あるとわかってよかったです。

526 名前:デフォルトの名無しさん mailto:sage [2012/02/14(火) 23:42:58.64 ]
gprofって、凄いの?

527 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 12:49:16.99 ]
gcc -pg で作って実行したらgmon.outができたけどgprof test.exe gmon.outとかやってもヘッダみたいなのしか出ない。なにか間違ってるのか?

528 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 13:35:45.56 ]
ttp://blog.majide.com/2009/03/usage-of-gprof/
ttp://d.hatena.ne.jp/ousttrue/20091017/1255754733

529 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 15:29:10.20 ]
tdm64-gcc-4.6.1をインストールして
gcc -o a.exe a.cpp
ってやると
undefined reference to 'operator new(unsigned long long)'
みたいなエラーがでるので解決策教えてください。
ソースは
int main(){
new int *a=new a;
}
です。



530 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 15:48:02.62 ]
訂正
ソースは
int main(){
int *a = new int;
です。

531 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 16:00:03.50 ]
g++

532 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 16:06:36.96 ]
gccをg++に変えればできるんですか?

533 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 16:10:54.70 ]
すみません、よろしくお願がいします。
これはみんながなる症状なんでしょうか?
本当に困ってます。お願いします。

534 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 16:46:04.85 ]
>>532
何故それを試さん

535 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 16:53:19.78 ]
すみません、インストールしたパソコンではないので
今すぐ出来ません。
許してください。

536 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 17:04:55.28 ]
じゃあ、試してから結果を報告してください
それまでお待ちしています

537 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 17:34:33.60 ]
はい、また何日か後くらいにきます。
そのときはよろしくお願いします。

538 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 17:51:57.66 ]
いま別のパソコンで試したけど同じ症状でした。
しかしg++にしたらちゃんとコンパイルとリンクできました。
有難うございます。
これは何が原因なんですか?
とても気になるのでおしえてください。

539 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 18:43:21.54 ]
え、今時の学生は基本的なことも知らないでやるの?



540 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 18:46:25.61 ]
もしかしてgccはgnu c コンパイラーの略ってことですか?
gnuコンパイラーコレクションの略で好きな言語をコンパイル出来る
フロントエンドだと勝手に勘違いしてました。
大事なことをおしえてくれて有難うございます。

541 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 20:19:11.22 ]
>>540
コンパイルは出来るよ。
言語ごとのライブラリを勝手にリンクしないだけ

542 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 20:33:57.27 ]
-v 見ると楽しいよな

543 名前:デフォルトの名無しさん mailto:sage [2012/02/17(金) 01:38:57.98 ]
なんでもはコンパイルできないわよ。知ってる言語だけ。

544 名前:デフォルトの名無しさん mailto:sage [2012/02/20(月) 16:22:39.59 ]
じゃあ539の勘違いということでFAですね。

545 名前:デフォルトの名無しさん mailto:sage [2012/02/20(月) 16:53:58.45 ]
エラー: ‘new’ が宣言されていません (この関数内での最初の使用)

546 名前:デフォルトの名無しさん mailto:sage [2012/02/22(水) 13:25:24.33 ]
mingw-get-instはインターネット回線に繋がってないパソコンではつかえないですよね?

547 名前:デフォルトの名無しさん mailto:sage [2012/02/22(水) 14:07:28.95 ]
つかえないです

548 名前:デフォルトの名無しさん mailto:sage [2012/02/25(土) 08:48:41.26 ]
ありがとうございます。
msysを手動でインストールする方法とか知ってますか?
知らないなら自分で考えます。

549 名前:デフォルトの名無しさん mailto:sage [2012/02/25(土) 10:14:42.41 ]
インストール出来る環境でインストールしたら、それを全部アーカイブしてよそへ持ってく。
例えばC:\MinGWにインストールしたらそのディレクトリごと。
コンソールへのショートカットはC:\MinGW\msys\1.0\msys.batを自前で作ればオッケー
だと思う。
時分の使い方の場合は問題でなかった。

あ、双方の環境でログイン名が違う場合は、ホームディレクトリをリネームするか
必要な設定ファイル群をコピーしてね。




550 名前:デフォルトの名無しさん mailto:sage [2012/02/25(土) 11:14:27.76 ]
ありがとうございます。
参考にします。

551 名前:デフォルトの名無しさん mailto:sage [2012/02/25(土) 11:22:15.80 ]
>>548
xhmikosr.1f0.de/index.php?folder=dG9vbHM=
ここのMSYS_MinGW_GCC_462_x86-x64_Full.7zを解凍するだけ
mingwは他のを使いたければ、中のmingwフォルダを差し替えればいい

552 名前:デフォルトの名無しさん mailto:sage [2012/02/25(土) 19:50:04.64 ]
>>548
ttp://d.hatena.ne.jp/naga_sawa/20111112/1321108907
自分は、こことかを参考にして手動インストールしてる。


553 名前:片山博文MZ ◆0lBZNi.Q7evd [2012/02/27(月) 14:15:19.34 ]
次のようなWDM filter driverをMinGWでビルドできないの?
ttp://www.reactos.org/paste/index.php/10164/

554 名前:デフォルトの名無しさん mailto:sage [2012/02/28(火) 13:13:02.42 ]
>>553
やりたいことは要するにコレなんでしょ? どうやるのかは知らんが
A filter driver that swaps "Left Ctrl" and "Caps Lock" keys

555 名前:デフォルトの名無しさん mailto:sage [2012/02/28(火) 19:46:33.96 ]
すみません初歩のことなのですが、先程C言語の本を買ってきて

本の通り(多分・・・)にmingw-get-inst-20111118.exeをインストールして

環境設定のPathを選択して編集→変数値の最後に「;C:\MinGW\bin」を
入力してから、コマンドプロンプトで「C:\Users\パソコン名>gcc」と
入力しても本に記載している「gcc:no input files」と表示されません。

代わりに
gcc:致命的なエラー:入力ファイルがありません
RpC~オワオスB

と表示されます。

ただ日本語に翻訳されてる感じですが・・・ご教授ください><

OSはWindows7Ultimateです。

556 名前:デフォルトの名無しさん mailto:sage [2012/02/28(火) 19:51:29.11 ]
ただ日本語に翻訳されてるだけでしょう

557 名前:デフォルトの名無しさん mailto:sage [2012/02/28(火) 19:59:27.99 ]
>>556
ありがとうございます





558 名前:デフォルトの名無しさん mailto:sage [2012/02/28(火) 20:04:35.93 ]
>>555
さすがにもうちょっとググったほうがいい・・・

559 名前:デフォルトの名無しさん mailto:sage [2012/02/28(火) 20:09:30.90 ]
gcc:致命的なエラー:入力ファイルがありません
RpC~オワオスB

でググってきます><








560 名前:デフォルトの名無しさん mailto:sage [2012/02/28(火) 20:53:25.96 ]
>>559
MinGW msys 環境構築 でググれ
「RpC~オワオスB」みたいなアホなワードでは何も出ない

561 名前:デフォルトの名無しさん mailto:sage [2012/02/28(火) 21:15:05.12 ]
追試してみた。
手元の mingw-get-inst-20110316.exe (Windows 7 Pro 64bit) では、エラーメッセージは英語だったよ。
gcc: fatal error: no input files
compilation terminated.

mingw-get-inst-20111118.exe に入れ替えたら、同じように文字化けした。
C:> which gcc
C:\MinGW\bin\gcc.EXE

C:> gcc --version
gcc (GCC) 4.6.1
...(略)

C:> gcc
gcc: 致命的エラー: 入力ファイルがありません
RpC~オワオスB

でも、いったんファイルに保存してtypeで表示したら文字化けしない。ふしぎ。
C:> gcc >error.log 2>&1
C:> type error.log
gcc: 致命的エラー: 入力ファイルがありません
コンパイルを停止しました。

あと、LANGを切り替えたら、こちらも文字化けしなかった。
C:> set LANG=C
C:> gcc
gcc: fatal error: no input files
compilation terminated.

562 名前:デフォルトの名無しさん mailto:sage [2012/02/28(火) 21:18:09.30 ]
>>559
釣られてみる。

> gcc [リターン]

じゃないよね...

563 名前:デフォルトの名無しさん mailto:sage [2012/02/28(火) 21:30:47.65 ]
Shift_JISで「コンパイルを停止しました。」は

83528393 83708343 838B82F0 92E28E7E
82B582DC 82B582BD 8142

他の文字コードで解釈できるのは

RpC~ B だけ、あと半角カタカナ

そんだけ



564 名前:デフォルトの名無しさん mailto:sage [2012/02/28(火) 21:40:37.56 ]
>>562
やめてくれー><
ぼくをイジメないでくれ><
初心者なんだ><

>>561
僕の脳みそでは、まだよくわからないけど
set LANG=C
打ち込んだらなおりました!ありがとぉ!


565 名前:デフォルトの名無しさん mailto:sage [2012/02/28(火) 21:48:18.93 ]
Cはまだ早い
まずAからだ

566 名前:561 mailto:sage [2012/02/28(火) 21:58:15.78 ]
すまんが、備忘録として、もう一回だけ書かせてくれ。

[case B] cmd.exe + bash でも、文字化けする。

C:> which bash
C:\MinGW\msys\1.0\bin\bash.EXE
C:> bash
bash-3.1$ gcc
gcc.exe: 致命的エラー: 入力ファイルがありません
RpC~オワオスB
bash-3.1$ LANG=C gcc
gcc.exe: fatal error: no input files
compilation terminated.

[case C] mintty (code.google.com/p/mintty/ の mintty-1.0.3-msys.zip) + cmd.exe だと、文字化けしなかった。
C:> mintty -c c:\mingw\mintty.cfg cmd.exe
(以下、mintty の window の方で)
C:> gcc
gcc
gcc: 致命的エラー: 入力ファイルがありません
コンパイルを停止しました。

[case D] mintty + bash.exe も文字化けしなかった。

C:> mintty -c c:\mingw\mintty.cfg bash.exe
(以下、mintty の window の方で)
bash.exe-3.1$ gcc
gcc.exe: 致命的エラー: 入力ファイルがありません
コンパイルを停止しました。
bash.exe-3.1$

567 名前:548 mailto:sage [2012/02/29(水) 10:16:21.56 ]
手動インストールできました。
色々ファイルを入れてpi.batが動くようにしたら出来ました。

568 名前:デフォルトの名無しさん mailto:sage [2012/02/29(水) 12:16:19.41 ]
一応、最新版にしたら4ギガ以上のファイルのサイズも表示されますね。
よかったです。

569 名前:デフォルトの名無しさん [2012/02/29(水) 17:22:10.28 ]
よかったよかった



570 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 10:03:50.14 ]
調べてみたらまだスレッド機能使えないらしいな。

571 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 15:16:06.43 ]
まじで…

572 名前:デフォルトの名無しさん mailto:sage [2012/03/02(金) 00:50:26.85 ]
すみません
昨日、MinGWを入れてみて下のコードを
>gcc test.c -o test
でコンパイルしたら
PCのアンチウィルスソフトに検知されました。
誤検知かと思ってDrWebのオンラインスキャンにかけても感染してると診断されました。
同様の症状の出る人いませんか?

#include<stdio.h>

int main(){

printf("Hello,World!!");

return 0;

}

573 名前:デフォルトの名無しさん mailto:sage [2012/03/02(金) 01:08:55.65 ]
検知されたのは、生成されたtest.exe
診断はトロイ
g++でコンパイルしたときはなんともありませんでした

574 名前:デフォルトの名無しさん mailto:sage [2012/03/02(金) 01:18:55.97 ]
たびたび失礼
g++でコンパイルしたexeもオンラインスキャンにひっかかる

575 名前:デフォルトの名無しさん mailto:sage [2012/03/02(金) 01:27:37.21 ]
とりあえずここにそのバイナリあげてみ
https://www.virustotal.com/

576 名前:デフォルトの名無しさん mailto:sage [2012/03/02(金) 01:52:34.65 ]
Detection ratio: 16 / 43

AVG Generic26.BUPR
BitDefender Trojan.Generic.KDV.493557
CAT-QuickHeal (Suspicious) - DNAScan
DrWeb Trojan.Siggen3.46647
Emsisoft Trojan.Win32.Menti!IK
F-Secure Trojan.Generic.KDV.493557
GData Trojan.Generic.KDV.493557
Ikarus Trojan.Win32.Menti
Jiangmin Trojan/Menti.osy
K7AntiVirus Riskware
McAfee-GW-Edition Heuristic.BehavesLike.Win32.Suspicious.H
nProtect Trojan.Generic.KDV.493557
SUPERAntiSpyware Trojan.Agent/Gen-Small
TheHacker Trojan/Menti.jswz
VBA32 Trojan.Menti.jvgg
VirusBuster Trojan.Offend!HUI9cixAnWU

いくつか引っかかってますが、マカフィー、カスペルスキー、NOD32がスルーしてますね
上の危険度を示す?矢印の表示は真ん中を指してます

577 名前:デフォルトの名無しさん mailto:sage [2012/03/02(金) 02:06:55.48 ]
Avast、Microsoft、Symantecもスルーしてるところをみると
どうも誤検知のようです・・・

たいへんお騒がせしました

578 名前:デフォルトの名無しさん mailto:sage [2012/03/03(土) 00:30:42.04 ]
自作プログラムがウィルス扱いとかたまらんたまらん

579 名前:デフォルトの名無しさん mailto:sage [2012/03/03(土) 01:13:08.52 ]
MinGWの4.6.3落とせるとこもうある?



580 名前:デフォルトの名無しさん mailto:sage [2012/03/03(土) 02:26:57.71 ]
>>579
www.xvidvideo.ru/component/docman/cat_view/28-cross-mingwgcc-x86x64/183-cross-mingw-with-gcc-46-x86x64/193-stable.html

581 名前:デフォルトの名無しさん mailto:sage [2012/03/03(土) 04:30:37.73 ]
thx!

582 名前:デフォルトの名無しさん mailto:sage [2012/03/13(火) 18:18:08.45 ]
cygwinのgccで作ったexeが動かなくなって、今日一日悩んで
ここで質問しようと思い、-print-search-dirsやらメモしつつ
何の気なしにavast止めたら動いた。

このやるせなさは・・

583 名前:デフォルトの名無しさん mailto:sage [2012/03/13(火) 19:20:34.26 ]
ユーザに何も知らせずに止めるの?
avastって

584 名前:デフォルトの名無しさん mailto:sage [2012/03/15(木) 13:27:42.54 ]
avast誤爆多すぎるからやめたら

585 名前:デフォルトの名無しさん mailto:sage [2012/03/17(土) 00:30:00.48 ]
>>583
止めるとか馬鹿にするな
勝手に設定も変更するよ

586 名前:デフォルトの名無しさん mailto:sage [2012/03/17(土) 12:48:26.70 ]
Avast の 自動サンドボックスとやらが致命的だな
バッチ処理中に一つでも未承認のツールがあれば即アウト

「インストール中はウイルスソフトを停止しておいてください」みたいなのを
無視できなくなった

587 名前:デフォルトの名無しさん mailto:sage [2012/03/17(土) 13:09:36.47 ]
avastこそ最強ウィルス。

588 名前:デフォルトの名無しさん mailto:sage [2012/03/17(土) 13:21:06.29 ]
aviraはconftestとかをウィルス判定しまくることに嫌気がさしてMSEに乗り換えたんだが、直ったのかな

589 名前:デフォルトの名無しさん mailto:sage [2012/03/17(土) 15:27:01.54 ]
Aviraは承認を記憶させることすらできなかったからな
コンパイラがファイルを吐くたびに
同じファイルでも毎回承認させるとかあってアホすぎた



590 名前:デフォルトの名無しさん mailto:sage [2012/03/17(土) 15:39:23.51 ]
完全に同一のファイルを吐かないんだから当たり前だろ

591 名前:デフォルトの名無しさん mailto:sage [2012/03/17(土) 19:15:05.08 ]
まあすれ違いを延々引っ張られても困るわけだが

592 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 09:46:04.66 ]
そうだったなすまん

593 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 22:42:06.66 ]
MSEでも結構誤爆あるのがなぁ

594 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 23:33:08.04 ]
適当に専用ディレクトリ掘って、そこだけ監視対象から外しとけ

595 名前:デフォルトの名無しさん mailto:sage [2012/03/23(金) 20:57:23.46 ]
mingw/nuwen gcc4.6.3 キタコレ
ろしあも4.7.0 stable キタワ

596 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 15:30:41.13 ]
GCC 4.7.0 released [2012-03-22]

597 名前:デフォルトの名無しさん mailto:sage [2012/03/26(月) 23:32:43.13 ]
ロシアあるのか 日本産はないのか?

598 名前:デフォルトの名無しさん mailto:sage [2012/03/27(火) 00:29:08.96 ]
なんか4.7.0はlibavをミスコンパイルするらしいからとりあえず見送り

599 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/04(水) 00:50:31.93 ]
おまえらって、新しいGCC出たら自前でビルドしてんの?



600 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/04(水) 03:28:22.91 ]
少しでもスレ眺めりゃ野良ビルド使ってる奴が大半ってことぐらい分かるだろ
俺は自前でやってるが

601 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/04(水) 04:36:42.24 ]
自前でやってるってことはFTPコマンドとかもポート(?)してるの?
mingwってFTPコマンドは別ウィンドウ開いちゃうんでちょーウザいんだけど対処方法ある?

602 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/04(水) 23:15:17.52 ]
>>600
ゆとり日本には珍しい奴だな
4.7出た記念に自前GCCビルドでもしてみるかな。とは言ってもめんどくさいな
Boost1.49ですらめんどくさがってまだビルドしてないし

603 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 08:51:20.77 ]
UCS32で標準入力して標準出力したいです。
始めにeclipseはソースコードの文字コードはシフトジフコードなので
UCS32を使うにはソースコードの文字コードを変えなければいけませんが
出来ないのでシフトジフコード上でエスケープシーケンスを使ってUCS32を
使わなければいけませんよね?
GCCに教えるソースコードの文字コードは標準でいいでしょう。
GCC実行時に使う文字コードはUCS32のやつにしたらいいのですね。
coutでUCS32の文字列は出力できません。
コマンドプロンプトで入力に使うのやそれに表示される文字コードは変えられませんよね。
ではやることの一部分だけじゃなくて全体的にどうしたらいいですか?
調べても分からないので教えてください。

604 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 09:06:58.34 ]
Boost.Iostreamsのcode_converter経由でiconvを呼ぶかな(適当)

605 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 13:14:23.46 ]
お年を召している質問者に違いない
70歳くらい?

606 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 14:25:02.32 ]
すみませんジスでした。

607 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 22:41:56.48 ]
JISなの?

608 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 22:46:04.44 ]
最終的に画面に表示できる文字コードに変換しないと

609 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 22:47:55.08 ]
なぜUTF32で出力したいのか教えろよ



610 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 00:19:44.68 ]
>>603
CP932 の場合は、こんな感じで出来たと思う。
gcc --input-charset=CP932 --exec-charset=CP932 ...

で、少なくとも cygwin gcc は libiconv を使ってるので (cygcheck `which gcc` すれば判る)
UTF系のcharsetは、 strings /usr/bin/cygiconv-2.dll | grep UTF すれば判る。
なお、mingw + msys なら iconv -l で調べられる。
いずれも、UTF-32 系はUTF-32,UTF-32BE,UTF-32LEの3つ

よって、「UTF-32」なら、次のようにすれば出来るかも知れない(未確認)
gcc --input-charset=UTF-32 --exec-charset=UTF-32 ...

なお、>>603 では CygwinとMinGWのどちらを使っているのか、
それぞれのバージョンはどれか、とか、より詳しく回答するのに
必要な情報を何も書かれていないので、
自分はこれ以上答えるつもりはない。

611 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 01:05:06.17 ]
>>603
なんだかツッコミどころが多いし何をしたいのかも分からないな
単にUnicodeを使って多国語対応したソフトを書きたいというだけなら
方針が致命的に間違っているとだけ言っておく
あと、Eclipseはソースコードを含むテキストファイルのの文字エンコーディングの
設定を変更できるぞ


612 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 15:08:17.39 ]
全部読むと、何らかのunicode文字列を、画面に表示させたい事は分かる。
標準入出力とあるから、unicodeはファイルか何かだろう。
あるいはunicodeの並びで、文字列処理をさせたいのか。
iconvと適当なwrapperを落として、文字コードの変換処理を書く。

で、まにあうと予想

613 名前:603 mailto:sage [2012/04/14(土) 14:44:57.10 ]
今から具体性を持って書きます。
GCCはTDM-GCCを使用しています。
字句解析器でユニコードを正規表現に使えるようにしたいです。
ついでにその字句をエクリプスの出力の窓に出したいです。
入力もソースコードに書いた日本語の文字かららファイルからしたいです。
エクリプスのソースの文字コードの設定の中にユニコードの奴はありませんでした。

614 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 15:01:29.91 ]
内部はwchar_tと出力はUTF8で十分じゃね?

615 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 15:06:54.48 ]
unicodeで正規表現とutf-32がどうつながるんだ

616 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 15:17:52.29 ]
ユニコードとはutf-32のことです。
型はchar32_tで
文字列はchar32_t *
ですよろしくお願いします。
utfには他の種類にも対応したいので教えてください。

617 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 15:30:30.85 ]
いやよ

618 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 15:45:38.77 ]
なぜutf-32が必要なのか書けよ

619 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 16:13:09.49 ]
アスキーコード以外の色々な文字が使いたいからです。



620 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 16:18:28.49 ]
UTF-8で十分です

621 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 16:19:26.10 ]
UTF-8なら使えるんですか?
試したこと無いので分かりません。

622 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 23:55:32.02 ]
つーかUTF-32なんて質問者以外では誰が使うんだ?

623 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 15:45:35.00 ]
今からじゃなくて最初から具体的に書けよ。で、boost/regex/icu.hppで動くみたいだよ。
Transparently search Unicode strings that are encoded as either UTF-8, UTF-16 or UTF-32.
なんて言ってるし。

624 名前:デフォルトの名無しさん mailto:sage [2012/05/15(火) 00:55:00.67 ]
Cygwin + MinGW + GCC 相談室は利用者がいなくなり
このたび閉室することになりなした。
ご利用ありがとうございました。

残りは雑談室、喫煙室、サボリ部屋など好きなように使ってください

625 名前:デフォルトの名無しさん mailto:sage [2012/05/15(火) 18:21:59.48 ]
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために利用します。

アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。

               京都大学霊長類研究所研究所

626 名前:デフォルトの名無しさん mailto:sage [2012/05/15(火) 18:26:24.44 ]
ならばオレが今なんだかよく判らない藪道に嵌って苦しんでる
Mingw + cmake + Qt Createrスレとして最利用しようず

627 名前:デフォルトの名無しさん [2012/05/15(火) 18:57:00.21 ]
.

628 名前:デフォルトの名無しさん mailto:sage [2012/05/15(火) 18:58:00.60 ]
gnupack楽でいいよ

629 名前:デフォルトの名無しさん mailto:sage [2012/05/15(火) 20:46:14.33 ]
いいよね



630 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 10:12:52.33 ]
いまどきXPでやってるってのがなあ

631 名前:デフォルトの名無しさん [2012/05/17(木) 01:29:32.42 ]
lmmsというオープンソースのソフトウェアを
mingwを使ってWindows XPでcompileしようとしているんですが

windowsのdosからmingw32-make を実行してみると

C:/cygwin/home/USER/repos/lmms.git/include/AudioFileWave.h:32:21:
error: sndfile.h: No such file or directory

と出てしまったので、
sndfile.h が置いてあった C:\cygwin\usr\include を
include directoryとして指定したく

mingw32-make -IC:\cygwin\usr\include

と打って再度試してみたのですが、
同じエラーが出てうまくいきませんでした。

何かやり方におかしいところがあるのでしょうか。
ご指摘いただけると嬉しいです。

632 名前:デフォルトの名無しさん mailto:sage [2012/05/17(木) 03:09:50.37 ]
Cygwin入れといてDOSから使うとかすでに意味不明なんですが

633 名前:デフォルトの名無しさん mailto:sage [2012/05/17(木) 06:29:39.83 ]
>>631
そのsndfileはcygwinでコンパイルされているから使えない
libsndfileをmingwでビルドしろ
makeの-IオプションはMakefileファイル内のinclude文で使うパスを指定するもの

634 名前:デフォルトの名無しさん mailto:sage [2012/05/17(木) 08:47:06.13 ]
2012年5月15日、中国新聞網によれば、12日から韓国の麗水(ヨス)で開催されている世界博覧会(麗水万博)の入場者数が、当初の予想の10%程度にとどまっており、主催側が事態を憂慮していると、シンガポール華字紙・聯合早報が報じた。

麗水(ヨス)万博は開幕翌日の目標入場者数を5万〜10万人としていたが、ふたを開けて見れば開幕当日が3万5000人、2日目は2万5000人だった。開幕から2日間の入場者数が予想の1割程度にとどまったことに関係者はショックを隠せない。

主催側は「他国で行われた万博も開幕当初は入場者が多くなかった例がある」と楽観的な見方を示しているが、韓国国内メディアもチケットの売れ行きが芳しくないと報じたことで焦りを強めているようだ。
当初は300万枚を売る予定だったが、5月10日時点でわずか120万枚しか売れていないという。

不振の背景には、3度行われたプレオープン時の不備があまりに多かったことや、パビリオンに入場するたびに長い列に並ばされること、さらに展示内容に魅力がないことなどがあり、入場者からも不満の声が多く聞かれるという。(翻訳・編集/岡田)

img.recordchina.co.jp/imgout.php?m=5&img=CFP427587233.jpg
img.recordchina.co.jp/imgout.php?m=5&img=CFP427587240.jpg
img.recordchina.co.jp/imgout.php?m=5&img=CFP427587239.jpg
img.recordchina.co.jp/imgout.php?m=5&img=CFP427587238.jpg
img.recordchina.co.jp/imgout.php?m=5&img=CFP427587237.jpg
img.recordchina.co.jp/imgout.php?m=5&img=CFP427587236.jpg
img.recordchina.co.jp/imgout.php?m=5&img=CFP427587234.jpg
img.recordchina.co.jp/imgout.php?m=5&img=CFP427587231.jpg
写真は4月20日、開幕に向けて準備を進める麗水(ヨス)万博の中国館。
www.excite.co.jp/News/chn_soc/20120516/Recordchina_20120516017.html

635 名前:デフォルトの名無しさん mailto:sage [2012/05/17(木) 10:17:53.37 ]
>開幕翌日の目標入場者数を5万〜10万人としていたが、ふたを開けて見れば開幕当日が3万5000人、2日目は2万5000人だった。開幕から2日間の入場者数が予想の1割程度
計算もできないのかな?

636 名前:デフォルトの名無しさん mailto:sage [2012/05/17(木) 22:41:14.64 ]
うん、できないよ

637 名前:631 [2012/05/18(金) 20:34:38.93 ]
レスありがとうございます

>そのsndfileはcygwinでコンパイルされているから使えない
なるほど、そうなのですね、ありがとうございます。

>makeの-IオプションはMakefileファイル内のinclude文で使うパスを指定するもの
これはgccではなくmakeのincludeなので、ここで-Iを指定しても意味がないということでしょうか。
>C:/cygwin/home/USER/repos/lmms.git/include/AudioFileWave.h:32:21:
>error: sndfile.h: No such file or directory
というエラーはコンパイル時のエラーのように見えるので、gccでincludeがうまくできていない
ということだと思うのですが、
makeコマンドからgccにinclude_dir的なオプションを渡すにはどうすればよいのでしょうか??
何か解決方法ありましたら教えていただけると幸いです。


638 名前:デフォルトの名無しさん [2012/05/18(金) 20:36:16.57 ]
また、
>Cygwin入れといてDOSから使うとかすでに意味不明なんですが
こちらの理由なのですが、
cygwinからmakeコマンドを打つと、なぜか

--------------------------------------
Microsoft Windows [Version 6.1.7600]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.

C:\cygwin\home\USER\repos\lmms.git\build>
--------------------------------------

のような対話形式のコマンドラインが新しく立ち上がってしまい、ビルドができないのでで、
仕方なくdosからmingw32-makeを使っていたのです。

このmakeの挙動はどういった場合に起こるのでしょうか。
回避策を教えていただけますと嬉しいです。

639 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 20:54:36.36 ]
>>638
cygwin以外のmakeを参照しているとか
cygwin上で"which make"を実行しろ
よくあるのがbcc付属のmakeなど

>>637
そんな基礎的なことを聞かれても…
lmmsをビルドできるようになるまで一から手取り足取り教えろってことか?
本家のwindowsバイナリでだめな理由は何だ?



640 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 20:59:58.70 ]
そもそもmakeに頼らずにコンパイルすればいいだろ。

641 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 21:53:24.21 ]
おまいら優しいな

642 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 00:35:55.59 ]
lmmsのソースダウンロードしてきてconfigure走らせたら
cmakeを使うことが推奨だゾ! とかコンソールに出て腹たったので後は任せた

質問者には間違いがいっぱいある
・MinGWをなぜかcmdで動かしてる        → minttyかrxvtにしろし
・CygwinとMinGW両方入れてパスに入れてる → せめてどっちかを環境変数から外せよ・・・
・mingw32-makeとか打ってる           → makeでいいから!

それを踏まえた上で、cmakeをダウンロードしてきて試行錯誤したらいいと思う

643 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 01:46:38.33 ]
たぶんQtも用意してないだろ

644 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 05:07:43.15 ]
qt は cmake じゃなくて qmake だゾ!

回答者にも突っ込みたいことが幾つかある
・MinGWを使うシェルに mintty か rxvt を薦めてる → MinGWならmsysにするのが普通なんでは?

ちなみに窓でgit入れるとき使う msysgit は名前のとおりシェルは
msys使ってるからこれで代用してもいい。まずはシェルとビルドツールの
切り分けあたりから突いて行くとよろし

golangとかで遊ぶと認識深まるとは思う
ただしMinGW同士でも混ぜるな危険なので注意(QT付属のMinGWとGolang付属のMinGWなどなど

645 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 05:38:25.04 ]
PATHさえ通してあれば別にcmdでも問題ねえよ
>qt は cmake じゃなくて qmake だゾ!
lmmsはフレームワークにQt使ってんだよハゲ
qmake関係ない

646 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 11:22:47.38 ]
ターミナルエミュレータはcmdよりminttyが圧倒的にいいと言いたかっただけなんだが
あと、msysはターミナルの名前じゃねえパッケージ名だ

647 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 11:41:42.04 ]
mintty って msys のことでしょう?

648 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 11:44:59.51 ]
チガウヨゼンゼンチガウヨ

649 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 12:15:38.45 ]
>>647
うん



650 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 12:26:29.07 ]
msys って mintty のことでしょう?

651 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 12:47:15.86 ]
>>650
せやで

652 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 13:10:53.95 ]
やけに必死なのがいるな。msysが何を指しているのか知らんが、
minttyは最近のcygwinで実装された端末エミュレータだと言うことは知っている。

653 名前:デフォルトの名無しさん [2012/05/19(土) 15:36:44.90 ]
色々ありがとうございます。
事の経緯を書かせて頂きます・・


lmmsをgit cloneしてくる。cmakeが必要とのことだったのでダウンロード。
ダウンロードしたのはwindows xp のインストーラ版

cmake ../ しようとしてみると色々怒られる。pkg-configやらsdlやらlibsndfileやらが必要とのこと。
pkg-configはwindowsでビルドするのがめんどくさそうだったので
全部cygwin上でやることにしてみる

cygwinインストール。apt-cygで必要なパッケージ色々インストール

sdlのビルドにはMinGWが必要なのが判明。
(理由は忘れたが、cygwinにもmingw-gccを入れないと何かがうまくいかなかった)
MinGWでSDLビルド。

パスは C:\cygwin\bin;C:\QtSDK\Desktop\Qt\4.7.4\mingw\bin;C:\QtSDK\mingw\bin;C:\Program
Files\CMake 2.8\bin;
な感じで
cmake-G "MinGW Makefiles"
がようやく成功。buildディレクトリにMakefileが出来た
mingwのパスが2つあるのはqmakeが必要だったりQtCoreが必要だったりしたため(確か)


654 名前:デフォルトの名無しさん [2012/05/19(土) 15:37:42.88 ]
build/ でmakeを実行すると上で書いたようになぜかもう一層新しいプロンプトが表示される状態に・・
他のディレクトリでmakeすると普通に動くので、buildディレクトリにあるMakefileの何かがおかしい
としか思えない。がMakefileよくわからない・・
makeはapt-cygでいれたもので、which make すると普通に /usr/bin/make の出力

試しにcygwinやdosからmingw32-makeを使ったら途中まではビルドできたが、
includeディレクトリの件(sndfile.h: No such file or directory)
で立ち止まる←いまここ


もしかしてcmakeはcygwin上でapt-cygで入れたものを使った方がよかった・・?
とか色々思うところがあるのですがぐちゃぐちゃやりすぎてわけわかめになっています。
どなたかwindows上でlmmsのビルド成功したという方がいればアドバイスいただけると嬉しいです。。


655 名前:642 mailto:sage [2012/05/19(土) 15:49:59.31 ]
>>653-654
面白そうなのでちょっといじってみた

当方の環境はMinGWのみ
環境変数にcmake入れる

・PATHの中身閲覧
$ echo $PATH
.:/usr/local/bin:/mingw/bin:/bin: …(省略)…:/c/Program Files (x86)/CMake 2.8/bin

・INSTALLの記述(以下の手順をこなす必要がある)
Building LMMS got quite simple since 0.4.0 as everything is managed
by cmake now. Therefore make sure you have CMake (>= 2.6.0 recommended) and
then run

mkdir build  buildフォルダ作成
cd build    移動
cmake ../   一段上を指定してcmake起動
make      gnuのmakeを起動
sudo make install  うまく行ったらインストール(linuxじゃないからsudoいらん)

うちの環境ではQt4入ってないからできなかった。
コンパイルの仕方って大抵READMEかINSTALLって名前のファイルに書いてあるんだな、これが

656 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 15:59:54.86 ]
cygwinインストールしちゃったみたいだが、
cygwinの影響を完全に排除したビルド環境を作るとこから始めんとダメなんじゃないか
上でも書いてる人がいるがMinGWとcygwinを混ぜるのは危険

657 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 20:48:59.88 ]
結構はまるぞ、
こういうファイルつくってから
set(CMAKE_SYSTEM_NAME Windows)

# specify the cross compiler
set(CMAKE_C_COMPILER /usr/bin/i686-pc-mingw32-gcc.exe)
set(CMAKE_CXX_COMPILER /usr/bin/i686-pc-mingw32-g++.exe)
set(CMAKE_RC_COMPILER /usr/bin/i686-pc-mingw32-windres.exe)


# set PKG_CONFIG_PATH for MinGW Cross Compile Environment

set(CMAKE_EXE_LINKER_FLAGS -L/usr/bin/i686-pc-mingw32/sys-root/mingw/include)

set(ENV{PKG_CONFIG_PATH} /usr/i686-pc-mingw32/sys-root/mingw/lib/pkgconfig)
# where is the target environment
set(CMAKE_FIND_ROOT_PATH /usr/i686-pc-mingw32/sys-root/mingw)

cmake -DCMAKE_SYSTEM_NAME="Windows" -DCMAKE_TOOLCHAIN_FILE=上のファイル.cmake -DBUILD_SHARED_LIBS=OFF

だったかな?

いまビルドしてやんよ

658 名前:657 mailto:sage [2012/05/19(土) 21:10:26.61 ]
シェルスクリプトbuild_mingwなんたらの中のディレクトリを書きかえたらできそうだな、あとはまかせたw


659 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 21:41:54.98 ]
言うだけ番長



660 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 22:00:59.60 ]
公式読め
ttp://lmms.sourceforge.net/wiki/index.php/Compiling_LMMS

で終了

661 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 22:20:10.09 ]
いやそこにもlibsndfileで積む、って書いてある

www.mail-archive.com/lmms-devel@lists.sourceforge.net/msg00940.html
公式バイナリはlinux上でクロスコンパイルしてるらしい

662 名前:642 mailto:sage [2012/05/19(土) 22:35:54.33 ]
依存関係がこうなってる

lmms → libsndfile →( pkg-config → glib )

mingwのmakefileあるけど、大方fedoraからのクロスコンパイルだろう
素人にはムリダナ(俺もできてないけど)

663 名前:642 mailto:sage [2012/05/19(土) 22:45:23.02 ]
libsndfile自体はmingwで容易にインストールできるけど
それをpkg-configに認識させるのが難しい(というよりpkg-config入れるのがめんどい)

mingwでpkg-configビルドする場合の参考(ビルドせずにバイナリだけ使えばいいか?)
d.hatena.ne.jp/sa-y/20090109

libsndfileビルド&インストール
$ wget www.mega-nerd.com/libsndfile/files/libsndfile-1.0.25.tar.gz
$ tar xvf libsndfile-1.0.25.tar.gz
$ cd libsndfile-1.0.25
$ ./configure --prefix=/mingw
$ make && make install

lmmsビルド&インストール
$ cd lmms-0.4.13/
$ mkdir build
$ cd build
$ cmake -G "MSYS Makefiles" ../
$ make && make install

こんな感じ?

664 名前:657 mailto:sage [2012/05/19(土) 23:17:02.76 ]
cmake/modulesにある
MinGWCrossCompile.cmake Win32Toolchain.cmake Win64Toolchain.cmake
のディレクトリ設定を弄るかシェルスクリプトを書いてこの設定どおりにリンクを張ってからbuild_mingwなんたらを実行だな







[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

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

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