私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレCygwin + MinGW + GCC 相談室 Part 4
gcc スレッド一覧へ / gcc とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 : ☆
レスフィルター : (試験中)
DPMIはDOSエクステンダの下請けに過ぎず
DJGPPのリンカはDOSエクステンダに相当するものをスタブとして取り込んでいるから出力ファイルが大きくなる
DJGPPのリンカはDOSエクステンダに相当するものをスタブとして取り込んでいるから出力ファイルが大きくなる
他にも即値やディスプレースメントが32bitで大きくなったり、アラインメントが32bitになったりで
いくらでも16bitコードより大きくなる要素はある
いくらでも16bitコードより大きくなる要素はある
んなもん、gccのバイナリがデカのは今も昔も変わらん。
go32とか関係なく
vcとMingw gccではやはりバイナリサイズが全然違う。
go32とか関係なく
vcとMingw gccではやはりバイナリサイズが全然違う。
>>298
そんな過去の鈍足PCを今のPCと較べても、全く意味がありません。
それとも、クロック周波数の20MHzという意味が理解できませんか?
いずれにしても、鼬害です。レトロPC板にでもお帰りください。
そんな過去の鈍足PCを今のPCと較べても、全く意味がありません。
それとも、クロック周波数の20MHzという意味が理解できませんか?
いずれにしても、鼬害です。レトロPC板にでもお帰りください。
298 みたいな時空を超えた書き込みを
太鼓腹のオッサンがシコシコ打ちこんでると思うとキモイな
太鼓腹のオッサンがシコシコ打ちこんでると思うとキモイな
その3つを比べることに何の意味があるんだか…
#とりあえず「DJGPPってまだあったんだ」とか思った
#とりあえず「DJGPPってまだあったんだ」とか思った
レトロPCを使ってる時点で処理効率など問題外なのだから
32bitコードなど中途半端にひよったものを使わずに
堂々と16bit縛りでいくべき
32bitコードなど中途半端にひよったものを使わずに
堂々と16bit縛りでいくべき
>>300 7000円あるなら中古でWindows98の入ったPC買えるだろww
>>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
その後、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
すいません 質問下手かもしれないけどよろしいでしょうか?
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
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
>>318
$ cygcheck ./a.exe を実行してcygboost_thread_gcc_mt-1_33_1.dllの存在するディレクトリを調べて、
Windowsの環境変数PATHに追加する。
$ cygcheck ./a.exe を実行してcygboost_thread_gcc_mt-1_33_1.dllの存在するディレクトリを調べて、
Windowsの環境変数PATHに追加する。
正確に書いてくれ。「実行してみたけど無理でした・・・」はどうなったのかわからん。
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) 他にもあるかもしれんが、エスパーするのに疲れたのでここまで。
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) 他にもあるかもしれんが、エスパーするのに疲れたのでここまで。
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ってとこです。。。
↓
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ってとこです。。。
$ 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
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
>>322
Windowsの環境変数にd:\cygwin\binを追加してから、
**新たに** Windowsのコマンドプロンプトを開いて「echo %PATH%」を実行し、
cygwinのパス(今回だとd:\cygwin\bin)が存在することを確認する。
Windowsの環境変数にd:\cygwin\binを追加してから、
**新たに** Windowsのコマンドプロンプトを開いて「echo %PATH%」を実行し、
cygwinのパス(今回だとd:\cygwin\bin)が存在することを確認する。
確認できました
>>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を再起動してから試すこと。
じゃあ、次に、そのコマンドプロントで「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を再起動してから試すこと。
ええ!?再起動しないと駄目なのかい!?
Explorerに環境変数を反映させるには、Explorerプロセスの再起動が必要。
Windowsの環境変数はExplorerの親プロセスに設定される。しかし、それを子プロセスに反映するには、子プロセスを再起動する必要がある。
(これはWindowsだろうと、UNIXだろうと、MS-DOSだろうと、同じ)。
もっとも、今回はExplorerだからログアウト→ログオンで、行けそうな気がする。(面倒なので試してない)
なお、Windowsサービス (ApacheとかPostgreSQLとか)に環境変数の変更を反映させるなら、Windowsサービスの親プロセスの再起動、つまりWindowsの再起動が必要。
Windowsの環境変数はExplorerの親プロセスに設定される。しかし、それを子プロセスに反映するには、子プロセスを再起動する必要がある。
(これはWindowsだろうと、UNIXだろうと、MS-DOSだろうと、同じ)。
もっとも、今回はExplorerだからログアウト→ログオンで、行けそうな気がする。(面倒なので試してない)
なお、Windowsサービス (ApacheとかPostgreSQLとか)に環境変数の変更を反映させるなら、Windowsサービスの親プロセスの再起動、つまりWindowsの再起動が必要。
やった!!できました!!
長い時間ありがとうございました
長い時間ありがとうございました
おめでとう。これで肩の荷が下りたよ。
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が初期化前に使われているとか警告が出ますが
無視していますけどいいのでしょうか?
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が初期化前に使われているとか警告が出ますが
無視していますけどいいのでしょうか?
>>333
1.7でLANG=ja_JP.UTF-8なら、日本語のメッセージカタログ持ってるやつは、日本語でメッセージを出す模様。
メインの環境を1.7に切り替えたんだが、localeまわりはまだ微妙だな……。まぁ、壊滅状態の生1.5よりはマシだけど。
しかし、ちゃんと動くようにする意志はあるんだろうか。
1.7でLANG=ja_JP.UTF-8なら、日本語のメッセージカタログ持ってるやつは、日本語でメッセージを出す模様。
メインの環境を1.7に切り替えたんだが、localeまわりはまだ微妙だな……。まぁ、壊滅状態の生1.5よりはマシだけど。
しかし、ちゃんと動くようにする意志はあるんだろうか。
Component Object Model使うサンプルください
(しかし略すとCOMなんて最低な名前・・・検索で余計なのがひっかかりまくりw)
(しかし略すとCOMなんて最低な名前・・・検索で余計なのがひっかかりまくりw)
gccでC言語のプログラムをコンパイルしたら、
そのライセンスって制限付く?
標準Cライブラリはgccのものを使うとして。
そのライセンスって制限付く?
標準Cライブラリはgccのものを使うとして。
確かgccを改変してMy_Compilerとかいうソフトを作るんならGPLだが、
産物に関してはGPLが及ばないのではなかったかな?
libstdc++とかも例外条項付きGPLだから大丈夫とか聞いた気がするけど。
どなたか有識者plz!
産物に関してはGPLが及ばないのではなかったかな?
libstdc++とかも例外条項付きGPLだから大丈夫とか聞いた気がするけど。
どなたか有識者plz!
>>340
前者GPL、後者LGPL。
前者GPL、後者LGPL。
>340
GCC については
http://www.gnu.org/licenses/gpl-faq.html#CanIUseGPLToolsForNF
で、libstdc++ については
http://gcc.gnu.org/onlinedocs/libstdc++/faq.html#faq.license.what_restrictions
で、コンパイル対象のコードのライセンスに対しては制約なしとなってる。
GCC については
http://www.gnu.org/licenses/gpl-faq.html#CanIUseGPLToolsForNF
で、libstdc++ については
http://gcc.gnu.org/onlinedocs/libstdc++/faq.html#faq.license.what_restrictions
で、コンパイル対象のコードのライセンスに対しては制約なしとなってる。
>>344
おお、決定打ありがとう。
libstdc++はつまり
「オープンソースにしてくれるとうれしいけど、
まあそうじゃなくても良いよ。特に制約は科しません」
という事だよね。
ここは理解出来たのだがGCCについては今ひとつだ。
よろしければ教えていただけませんでしょうか?
「GCC(や他のGPLでライセンスされたエディタなど)を使って
開発されたソフトウェアには何ら制約はありません。」
「しかしBisonは自身のコードの一部をコピーするのでGPL強制です。」
BisonとやらはGCCの一部なのかい?
だとするとやっぱりGCCを使うと結果的に産物もGPL強制?
おお、決定打ありがとう。
libstdc++はつまり
「オープンソースにしてくれるとうれしいけど、
まあそうじゃなくても良いよ。特に制約は科しません」
という事だよね。
ここは理解出来たのだがGCCについては今ひとつだ。
よろしければ教えていただけませんでしょうか?
「GCC(や他のGPLでライセンスされたエディタなど)を使って
開発されたソフトウェアには何ら制約はありません。」
「しかしBisonは自身のコードの一部をコピーするのでGPL強制です。」
BisonとやらはGCCの一部なのかい?
だとするとやっぱりGCCを使うと結果的に産物もGPL強制?
>>349
え?ダイナミックリンクでもソース開示強制なの?
え?ダイナミックリンクでもソース開示強制なの?
前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / gcc スレッド一覧へ
みんなの評価 : ☆類似してるかもしれないスレッド
- Cygwin + MinGW + GCC 相談室 Part 8 (938) - [97%] - 2022/10/28 8:00
- Cygwin + MinGW + GCC 相談室 Part 7 (996) - [97%] - 2014/9/21 2:15
- Cygwin + MinGW + GCC 相談室 Part 6 (981) - [97%] - 2012/12/30 23:15
- Cygwin + MinGW + GCC 相談室 Part 5 (981) - [97%] - 2011/4/6 2:32
- Cygwin + MinGW + GCC 相談室 Part 3 (1001) - [97%] - 2008/9/12 0:04 ★
- 【激遅】AppleGCC【絶望】 (111) - [1%] - 2010/1/15 10:31
トップメニューへ / →のくす牧場書庫について