元スレCygwin + MinGW + GCC 相談室 Part 3
gcc覧 / PC版 /みんなの評価 : ★
252 = :
cygwinで(Boost1.33.1)
Boost.Regex for ICU 使えたよ。
-finput-charset=cp932 -fexec-charset=cp932
(1)ICUをインストール
(罠:configure系スクリプトの改行コードを変更してインストール)
/usr/local にデフォルトでインストールされる。
(2)Boostをインストール
boost/regex/usr.hppの
#define BOOST_REGEX_MATCH_EXTRA
#define BOOST_HAS_ICU
のコメントアウトをはずしてからICUのパスを指定してインストール
./bjam -sICU_PATH=/usr/local --toolset=gcc install
(3)テストではまった点
・ICUはdllだがlibとほぼ同様にリンクできる。
・IDEはDevC++でやると少し楽かもしらん。
・ICUのUnicodeStringはgetTerminatedBuffer使わないとNULL文字がついてこない罠がある
・標準出力はwide->narrowに変換してから使う。
(ただし、cygwinのCP932のsetlocaleは失敗するぽいのでロケール関数は使えなかった。緊急策としてMingwでsetlocale,mbstowcs,wcstombsをラップしたDLLを作成して対処した。>>247参照)
253 = :
cygwinでtgifを使いたいです。
そこで、こちらのサイトを参考にしました。
Cygwin + X + 日本語アプリケーション
http://www.eaflux.com/cygwin-xfree-jp-supplement/
おそらくインストールは完了したとは思います。
でも、いざ実行しようとしたら
Error: Can't open display:
とエラーが表示されます。どうすれば解決できるでしょうか?
255 = :
ごめんなさい。よく分からないです。
オプションを参照せよとのことでしょうか?
256 = :
xならdisplay接続先のXサーバがあるわけで、それを指定するには大抵DISPLAY環境変数を使うわけだ。
Xサーバがローカルなら、DISPLAY環境変数に":0.0"でも設定しておけばいいはずなんだが。
もしXの環境構築の経験がないなら、LinuxでもMacでもSolarisでも一度その辺りを覗いてきたら?
257 = :
詳しい解説ありがとうございます。
残念ながら全く理解できません。
私は環境構築とかのレベルじゃないようです。
失礼しました・・・。
258 = :
前の方でglutの話が出てたのでメモ
http://mywebpage.netscape.com/PtrPck/glut.htm
259 = :
GDI+は
MinGWでも使うことはできるのでしょうか?
260 = :
>>259
試したことねーけど普通に使えると思うよ
gdiplus.dllに入ってるのはflat APIとよばれる普通のCインタフェースで
それをC++のヘッダに書かれたクラス群でラップしてるだけだから
リンケージやABIまわりの問題は無いはず
261 = :
>>260
サンクス。
G++用の<windows.h>を使うので、DevC++でWinApplication作成。
PlatformSDK/IncludeからGdiplus関係のヘッダーをプロジェクトにコピーしてGdiplus.hをインクルード
Gdiplus.libをLibraryに追加
このままだとエラーでるので少し修正必要ぽいです。
動作テストはしてませんが、コンパイルは通りました。
GdiplusEnums.hの
534行目のenum EmfPlusRecordType;をコメントアウト。(前方宣言いらないくさい)
538行目のGDIP_WMF_RECORD_TO_EMFPLUS(n)マクロのEmfPlusRecordTypeへのキャストをコメントアウト
GdiplusImaging.hの
156行目の PixelFormat PixelFormat;を ::Gdiplus::PixelFormat PixelFormat;
GdiHeaders.hの
653行目の friend Graphics;をfriend class Graphics;
262 = :
すいませんgccスレで聞いたほうがいいっていわれたんで聞かせてください
調べてもわからんかったので聞きたいんだけどeclipseのエラーで
Error launching external scanner info generator (gcc -E -P -v -dD C:/Eclipse/workspace/.metadata/.plugins/org.eclipse.cdt.make.core/specs.c) try1
これ何すか?
プロジェクトを作るとすぐに警告が出ててできません。
どうすればなおるでしょうか?
263 = :
バージョンも環境も書かずに
264 = :
多分その前のスレの奴らは
こんな奴相手に出来るか!
と思って厄介払いしたんだな。
265 = :
Windows上でGtkmm使ったプログラムを創ろうとしています
Cygwin環境でやるのがいいか
Mingw環境でやるのがいいか
それともネイティブがいいのか
迷っています
266 = :
>>265
迷う程度の知識レベルなら止めた方がいいと思います。
268 = :
cygwin環境のgccで.cをコンパイルしたんですが、実行している途中
タスクマネージャで実行プロセスを見ると最大使用メモリ量と使用メモリ量が同じでした。
これは使用メモリ量の制限によって処理速度が落ちていると考えてよろしいでしょうか?
時間のかかる処理なので少しでも速くしたいのですが、解決策はありますか?
regtoolでcygwinの最大メモリを増やすのは試しましたが、見当違いだったようです。
269 = :
>>268
そもそもメモリが足りなければ、GCCは落ちると思う。
タスクマネージャのヘルプによれば、
最大使用メモリ量は、プロセスが開始してからのメモリ使用量のピーク値。
だから、これが使用メモリ量と同じだったからといって、足りていないということではない。
270 = :
>>269
そうなんですか、己の無知がお恥ずかしい・・・
迅速な返信ありがとうございました。
271 = :
>>269
gccの実行中という意味なのか?
>>270
速くしたいなら効率の良いプログラミングが出来るように
勉強したり、経験を積むしかないだろ
272 = :
コンパイル中のメモリのことじゃなくて
実行プログラムの方の話を行ってるんだろう
>>271は日本語の勉強をしたほうがいい
273 = :
>>270
JavaやLispのようなGCあり言語の経験を元に話してる?
コミットチャージが物理メモリを越えてとスワップ処理で遅くなるけど
最大メモリは関係ない。プロファイルとってみたら?
274 = :
Cygwinではstrdup関数はどこのフォルダのどのファイルに定義されていますか?
string.hでは宣言のみでした。
275 = :
strdupの返り値は(char *)型のはずなのに、Cygwinだと↓で警告が出るのですが
#include <stdio.h>
struct p_person {
char *name;
char *address;
char *tel;
};
int main(void)
{
struct p_person person;
person.name = strdup("abcd");
person.address = strdup("埼玉県所沢市どこそこ9-3-1");
person.tel = strdup("042-951-XXXX");
return 0;
}
ちなみにバージョンは
$ help
GNU bash, version 2.05b.0(9)-release (i686-pc-cygwin)
276 = :
>>274
ライブラリの中。
>>275
何て警告が出るの?それを読んで、どうすればいいかわからないの?
そのバージョン、 bash のバージョンだよ。コンパイラのバージョンは
gcc --version ね。
277 = :
MinGW-5.1.3とgcc-3.4.5でSTLport-5.1.4を使いたいのだけど、
コンパイル時undefined reference toとか出てきて上手くいかない。
(-lstlport.5.1とかやってるにも関わらず)
上手く動いている方、インストールの手順を教えてくれませんか?
278 = :
>>277
configure してる?
279 = :
MinGWのGCC使ってOpenGLのプログラム書いてるんだけど
なんかgl.libとかglu.libがないような気がするんだが。
undefined reference to wglCreateContext@4 とか出るし。
280 = :
マニュアル嫁よ
281 = :
>>278
それはmsysでbuild/libで./configure -c gccしてからmake -f gcc.mak install-staticするってこと?
やってみたけど駄目だった。orz
以下、コンパイル時のコマンド
g++ -lstlport.5.1 stl.cpp
C:/DOCUME~1/main/LOCALS~1/Temp/ccyobaaa.o:stl.cpp:(.text+0x33): undefined reference to `_imp___ZN11stlpmtx_std4coutE'
(以下略)
282 = :
>>272
日本語の勉強が必要なのは269だろ。
あとお前は脳神経外科にでも池
283 = :
解決した。
-oオプションが抜けてた。orz
けど、プログラムの先頭に
#define _STLP_USE_STATIC_LIB
と書いてもダイナミックリンクになってしまうんだがこれってmingwの使用か?
284 = :
#defineはプリプロセッサへの指示であってリンカへの指示じゃないぞ。
285 = :
>>284
その通りだな。orz
初心者ですまん。
286 = :
先日cygwinを導入してこちらのサイトにあるソース
http://www.geekpage.jp/programming/linux-network/getaddrinfo-1.php
をgccでコンパイルしようとしたところ
net2.c: In function `main':
net2.c:11: error: storage size of 'hints' isn't known
net2.c:12: error: storage size of 'addr' isn't known
net2.c:24: error: dereferencing pointer to incomplete type
このようなエラーが出てしまい、うまくコンパイルできませんでした・・
他サイトの似たようなソース等も試してみたのですが同様のエラーが発生して
うまくいきません。
これをどうにか回避できないでしょうか?
gccのバージョンは
gcc (GCC) 3.4.4 (cygming special, gdc 0.12, using dmd 0.125)
です。
288 = :
オウ・・無いですね
手打ちで追加してみたんですがどうもうまくいかないのですが
cygwinでコンパイルするにはどうすればいいのでしょう?
289 = :
PCクラッシュをきっかけに、MP4Boxのbinaryを探していたら、GPACの公式にてLisence問題?
でSourceのみの配布に変わっていた為、初めてMinGW+MSYSな環境を立ち上げようとして
います。
SourceForgeから必要最低限のbinaryを取ってきたのですが、MSYS*.exeが見つかりません。
それでも何とかshellが動作するようになったのですが、/ に本来Installしたフォルダとは別に
/usrも後からmountされてしまいます。fstabにはその様な記載はしておらず、レジストリに
情報が無いかと検索を掛けてみてもmount情報が見つかりません。予想通り、/usrの下は
/になっており、コマンドのpathが通らなくて目的のbinatyがbuild出来ない状況です。
mount情報には、fstab以外の情報も有るところを見ると、何処かで設定していると思ってい
るのですが、自分の力不足で見つけることが出来ず困っております。レベルの低い質問で
申し訳有りませんが、情報、「スレ違いだから***で聞け!」等、アドバイス頂けないでしょ
うか。
290 = :
ごちゃごちゃしてよくわからん
291 = :
fstabに書いてないのがマウントされるのはそんなものだと思うけど。
俺のfstabはこんなの
c:/MinGW /mingw
c:/msys /msys
で、mountの出力はこんなの
D:\TEMP on /tmp type user (binmode,noumount)
c:\MinGW on /mingw type user (binmode)
C:\msys on / type user (binmode,noumount)
C:\msys on /usr type user (binmode,noumount)
c:\msys on /msys type user (binmode)
c: on /c type user (binmode,noumount)
d: on /d type user (binmode,noumount)
f: on /f type user (binmode,noumount)
gccとか動くの?
292 = :
説明下手ですいません。
まず、msys*.exeが無いので困ったのですが、msysCORE-1.0.11-2007.01.19-1.tar.bz2
を入れたところ、shellの起動が可能になりました。
その後、make install出来る環境が出来たのですが、入れたはずのbinaryが無かったり
エラーを吐きまくったりしたのでmount情報を見たところ、/usr が / にmountされていて、
pathの整合性が取れていない状態になって今に至ります。
mountの出力は>>291さんと同じような感じです。
C:\DOCUME~1\hara\LOCALS~1\Temp on /tmp type user (binmode,noumount)
c:\msys\mingw on /mingw type user (binmode)
c:\tools on /usr/local type user (binmode)
C:\msys on / type user (binmode,noumount)
C:\msys on /usr type user (binmode,noumount)
c: on /c type user (binmode,noumount)
d: on /d type user (binmode,noumount)
z: on /z type user (binmode,noumount)
これがおかしいと思うのですが。cd /usrとしても/に戻ってきてしまいます。
> C:\msys on / type user (binmode,noumount)
> C:\msys on /usr type user (binmode,noumount)
win上のc:\msys\usr\binと、shell上の/usr/binが別の場所を指してしまいます。
c:\msys\usr\binにはcvs.exeやmake.exe,msys-z.dllが入っていてshell上でcvs
が実行出来ない状態です。
win上のc:\msysが、/ だと思っていたので、ここでお手上げになりました。c:\msys
は / なのでしょうか?/usrなのでしょうか?
293 = :
普通に置いてあるだろ…
http://downloads.sourceforge.net/mingw/MSYS-1.0.10.exe
294 = :
んーと msys だと /usr も / も msys にマウントされるみたいなのよ
だから /usr/bin は /usr の下つまり msys の下だから msys\bin になる
違和感を覚えるけど
まあそういうものみたいだと割り切ってるけど
295 = :
質問ですが、MinGWで関数名の最後に@XXがついていないDLLを使用するにはどうすればよろしいでしょうか?
@XXのないDLLを作成するのは-kオプションでできますが、それをMinGWから利用しようとするとundefined referenceと出てしまいます。
DLLをコンパイルするときに-kオプションをつけなければ難なく呼び出せます。
呼び出し規約はstdcallです。IDEはDev-C++を使っています。
どうしても@XX以降をなしにしたいです。
297 = :
反応遅くてすいません。さすがに会社から書き込みはしないようにしてるので。
>>293
すみません。1.1.11は正式リリースでは無いんですね。1.1.10を入れれば何も
問題は無かったようで。
>>294
環境が落ち着いたらsrcからbuildで/binにインストールされますが、最初に
幾つかbinaryでwinからインストールした時には。c:\msys\usr\binにコピー
していたので混乱しました。入っているはずのperlが無いとかzlibが無いとか
言われ、面倒なのでwinから見たc:\msys\usr以下を全てc'\msysへ移動さ
せました。これで今のところ問題は出なくなったのですが、/bin=/usr/binは、
やはり違和感有りますね。別途mountしないと、/usr/localがc:\msys\local
になるので、やはり直せるもので有れば直したいところです>mount情報。
299 = :
MinGWをコンパネのプログラムの追加と削除でアンインストール(MSYS含む)
したんだけど、フォルダとその中身が消えね。
誰か正しいアンインストールの方法おしえテルミー。
レジストリもなんかいじってんのかな?
300 = :
フォルダとその中身を消せばいいんじゃね?
みんなの評価 : ★
類似してるかもしれないスレッド
- 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 4 (1001) - [97%] - 2010/3/23 18:31 ☆
- 【激遅】AppleGCC【絶望】 (111) - [1%] - 2010/1/15 10:31
トップメニューへ / →のくす牧場書庫について