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

    私的良スレ書庫

    不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
    ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

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

    gcc スレッド一覧へ / gcc とは? / 携帯版 / dat(gz)で取得 / トップメニュー
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : - 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
    301 : デフォルトの名無 - 2009/04/03(金) 07:39:15 (+57,+29,-31)
    たぶんこのスレにそんなマニアックなケース答えられる人はいないんじゃないかと。
    302 : デフォルトの名無 - 2009/04/03(金) 07:59:25 (-1,-29,-35)
    DPMIはDOSエクステンダの下請けに過ぎず
    DJGPPのリンカはDOSエクステンダに相当するものをスタブとして取り込んでいるから出力ファイルが大きくなる
    303 : デフォルトの名無 - 2009/04/03(金) 08:08:37 (+12,-15,+0)
    go32.exeが組込まれるんだっけ
    304 : デフォルトの名無 - 2009/04/03(金) 08:09:50 (+0,-28,-25)
    他にも即値やディスプレースメントが32bitで大きくなったり、アラインメントが32bitになったりで
    いくらでも16bitコードより大きくなる要素はある
    305 : デフォルトの名無 - 2009/04/03(金) 08:18:41 (-1,-29,-6)
    んなもん、gccのバイナリがデカのは今も昔も変わらん。
    go32とか関係なく
    vcとMingw gccではやはりバイナリサイズが全然違う。
    306 : デフォルトの名無 - 2009/04/03(金) 10:13:49 (+69,+29,-70)
    >>298
    そんな過去の鈍足PCを今のPCと較べても、全く意味がありません。
    それとも、クロック周波数の20MHzという意味が理解できませんか?
    いずれにしても、鼬害です。レトロPC板にでもお帰りください。
    307 : デフォルトの名無 - 2009/04/03(金) 10:25:40 (+57,+29,-30)
    298 みたいな時空を超えた書き込みを
    太鼓腹のオッサンがシコシコ打ちこんでると思うとキモイな
    308 : デフォルトの名無 - 2009/04/03(金) 10:41:15 (+52,+29,-4)
    同族嫌悪というやつですか?
    309 : デフォルトの名無 - 2009/04/03(金) 11:25:52 (-1,-29,-8)
    PC-9801にMS-DOSとはまた懐かしいものを出してくるなあ
    310 : デフォルトの名無 - 2009/04/03(金) 12:48:25 (+52,+29,+0)
    あんまり虐めてやるなよ
    311 : デフォルトの名無 - 2009/04/03(金) 14:54:36 (+55,+29,-25)
    古いものを好き好んで触るのは人の自由だと思うが
    騒ぎ方がどうにもキチガイじみてキモいな
    312 : デフォルトの名無 - 2009/04/03(金) 23:12:56 (+57,+29,-19)
    その3つを比べることに何の意味があるんだか…
    #とりあえず「DJGPPってまだあったんだ」とか思った
    313 : デフォルトの名無 - 2009/04/05(日) 06:16:12 (+57,+29,-28)
    レトロPCを使ってる時点で処理効率など問題外なのだから
    32bitコードなど中途半端にひよったものを使わずに
    堂々と16bit縛りでいくべき
    314 : デフォルトの名無 - 2009/04/05(日) 12:53:48 (-1,-29,-36)
    dosプログラミングはずっと無料版のLSI C86使ってたな。
    farポインタとか懐しい。
    315 : デフォルトの名無 - 2009/04/09(木) 15:03:43 (+5,-29,-19)
    >>300 7000円あるなら中古でWindows98の入ったPC買えるだろww
    316 : デフォルトの名無 - 2009/04/09(木) 22:33:46 (+46,+28,+0)
    そうかなあ
    317 : 298 - 2009/04/10(金) 04:12:14 (+3,-30,-135)
    >>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 : デフォルトの名無 - 2009/04/12(日) 16:37:09 (+39,-30,-253)
    すいません 質問下手かもしれないけどよろしいでしょうか?
    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 : デフォルトの名無 - 2009/04/12(日) 17:21:34 (+108,-30,-42)
    >>318
    $ cygcheck ./a.exe を実行してcygboost_thread_gcc_mt-1_33_1.dllの存在するディレクトリを調べて、
    Windowsの環境変数PATHに追加する。
    320 : デフォルトの名無 - 2009/04/12(日) 17:58:14 (+62,+29,-27)
    >>319
    実行してみたけど無理でした・・・
    そもそもboostを導入する方法はこれでよかったのでしょうか・・・
    321 : 319 - 2009/04/12(日) 18:50:24 (+3,-30,-268)
    正確に書いてくれ。「実行してみたけど無理でした・・・」はどうなったのかわからん。
    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 - 2009/04/12(日) 19:01:03 (+9,-30,-71)
    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 - 2009/04/12(日) 19:01:48 (+3,-30,-211)
    $ 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 - 2009/04/12(日) 19:10:05 (+4,-30,-48)
    >>322
    Windowsの環境変数にd:\cygwin\binを追加してから、
    **新たに** Windowsのコマンドプロンプトを開いて「echo %PATH%」を実行し、
    cygwinのパス(今回だとd:\cygwin\bin)が存在することを確認する。
    325 : 319 - 2009/04/12(日) 19:14:04 (+33,+15,-12)
    確認できました
    326 : 319 - 2009/04/12(日) 20:36:56 (+10,-30,+0)
    >>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 <http://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 - 2009/04/12(日) 20:39:47 (+57,+29,-1)
    ええ!?再起動しないと駄目なのかい!?
    328 : 319 - 2009/04/12(日) 20:50:50 (+3,-30,-131)
    Explorerに環境変数を反映させるには、Explorerプロセスの再起動が必要。
    Windowsの環境変数はExplorerの親プロセスに設定される。しかし、それを子プロセスに反映するには、子プロセスを再起動する必要がある。
    (これはWindowsだろうと、UNIXだろうと、MS-DOSだろうと、同じ)。

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

    なお、Windowsサービス (ApacheとかPostgreSQLとか)に環境変数の変更を反映させるなら、Windowsサービスの親プロセスの再起動、つまりWindowsの再起動が必要。
    329 : 318 - 2009/04/12(日) 20:52:35 (+54,+26,-2)
    やった!!できました!!
    長い時間ありがとうございました
    330 : 319 - 2009/04/12(日) 21:00:50 (+57,+29,-7)
    おめでとう。これで肩の荷が下りたよ。
    331 : デフォルトの名無 - 2009/04/27(月) 14:40:09 (+23,-30,+0)
    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 : デフォルトの名無 - 2009/04/27(月) 14:41:35 (-1,-29,-13)
    なお上記の修正は次のFORUMから引用しました

    http://sourceforge.net/forum/forum.php?thread_id=3036652&forum_id=490891
    333 : デフォルトの名無 - 2009/04/30(木) 09:21:49 (+58,+24,-5)
    エラーメッセージの日本語化って進んでますか?
    334 : デフォルトの名無 - 2009/04/30(木) 16:21:30 (+49,+21,-5)
    日本語化されたエラーメッセージ見ても、分からないという落ち?
    335 : デフォルトの名無 - 2009/04/30(木) 22:02:55 (+10,-29,-65)
    >>333
    1.7でLANG=ja_JP.UTF-8なら、日本語のメッセージカタログ持ってるやつは、日本語でメッセージを出す模様。
    メインの環境を1.7に切り替えたんだが、localeまわりはまだ微妙だな……。まぁ、壊滅状態の生1.5よりはマシだけど。
    しかし、ちゃんと動くようにする意志はあるんだろうか。
    336 : デフォルトの名無 - 2009/05/03(日) 12:42:57 (-1,-29,-19)
    MSYSのm4が古い問題ってどうやって回避するの?
    337 : デフォルトの名無 - 2009/05/03(日) 17:47:45 (-1,-29,-16)
    Component Object Model使うサンプルください
    (しかし略すとCOMなんて最低な名前・・・検索で余計なのがひっかかりまくりw)
    338 : デフォルトの名無 - 2009/05/04(月) 12:20:21 (+18,-29,-21)
    gccでC言語のプログラムをコンパイルしたら、
    そのライセンスって制限付く?
    標準Cライブラリはgccのものを使うとして。
    339 : デフォルトの名無 - 2009/05/04(月) 12:32:56 (+27,-29,-2)
    GPL/LGPLでは。
    340 : デフォルトの名無 - 2009/05/04(月) 12:45:10 (+13,-29,-37)
    確かgccを改変してMy_Compilerとかいうソフトを作るんならGPLだが、
    産物に関してはGPLが及ばないのではなかったかな?
    libstdc++とかも例外条項付きGPLだから大丈夫とか聞いた気がするけど。
    どなたか有識者plz!
    341 : デフォルトの名無 - 2009/05/04(月) 12:57:38 (-1,-29,+0)
    >>340
    前者GPL、後者LGPL。
    342 : 338 - 2009/05/04(月) 13:15:47 (+61,+29,-26)
    >>339-341
    なるほど、産物にも影響するのね。
    どんなにヌルくてもLGPLが要求されるなら到底 仕事じゃ使えないわな。。。
    343 : デフォルトの名無 - 2009/05/04(月) 13:23:40 (+91,+29,-9)
    そこらの家電には結構入っているがな。
    どんな仕事だよ。
    344 : デフォルトの名無 - 2009/05/04(月) 13:28:46 (+41,-30,-55)
    >340
    GCC については
    http://www.gnu.org/licenses/gpl-faq.html#CanIUseGPLToolsForNF
    で、libstdc++ については
    http://gcc.gnu.org/onlinedocs/libstdc++/faq.html#faq.license.what_restrictions
    で、コンパイル対象のコードのライセンスに対しては制約なしとなってる。
    345 : デフォルトの名無 - 2009/05/04(月) 13:28:57 (+70,+29,-21)
    >>343
    リバースエンジニアリングされると困る仕事。
    まあどうせされるんだろうが、それにしたってLGPLだと明示的に禁止出来ないじゃない。
    346 : 338 - 2009/05/04(月) 13:40:41 (+125,+29,-109)
    >>344
    おお、決定打ありがとう。
    libstdc++はつまり
    「オープンソースにしてくれるとうれしいけど、
    まあそうじゃなくても良いよ。特に制約は科しません」
    という事だよね。
    ここは理解出来たのだがGCCについては今ひとつだ。
    よろしければ教えていただけませんでしょうか?
    「GCC(や他のGPLでライセンスされたエディタなど)を使って
    開発されたソフトウェアには何ら制約はありません。」
    「しかしBisonは自身のコードの一部をコピーするのでGPL強制です。」
    BisonとやらはGCCの一部なのかい?
    だとするとやっぱりGCCを使うと結果的に産物もGPL強制?
    347 : デフォルトの名無 - 2009/05/04(月) 13:45:53 (+11,-29,-10)
    >>346
    ソースをベースにしたらGPL
    ライブラリ/バイナリを使ったらLGPL
    と覚えておけばいい。

    明示的な禁止に意味があるとは思えないが。
    348 : デフォルトの名無 - 2009/05/04(月) 13:51:38 (+33,-29,-51)
    >>347
    LGPLだとライブラリをstaticリンクした時が致命的じゃね。
    ソースコードまたはオブジェクトコードの配布を拒否してはならない
    だと!?
    349 : デフォルトの名無 - 2009/05/04(月) 13:52:42 (+92,+29,-7)
    >>348
    心配すんな、ダイナミックリンクも対象だ。
    今時何言ってるんだ、おまえは。
    350 : デフォルトの名無 - 2009/05/04(月) 13:53:40 (+129,+21,-8)
    >>349
    え?ダイナミックリンクでもソース開示強制なの?
    ←前へ 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 + - リダイレクト + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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