07/09/22 13:49:46
>>236
Windows SDK日本語版なら、
.NET Framework部分は日本語だぞ。
238:デフォルトの名無しさん
07/09/22 20:21:41
>>232
友達いないのか
大変だな
239:デフォルトの名無しさん
07/09/22 20:51:03
こんな過疎スレに来てまで罵倒する相手探しとは
よほど暇なんですね
240:デフォルトの名無しさん
07/10/03 11:45:02
すいません、MINGW+Msysでコンパイルしたコマンドラインプログラムを
コマンドプロンプトから実行しようとすると、
"KKCFUNCを組み込みました" というメッセージがでて端末が
フリーズしたようになってしまうんですが、これを回避する方法はありますか?
mingw5.1.3, msys1.0.10 on WindowsXP sp2 です
ちなみにlibcurlを作るためにビルドしたcurlコマンドも同様になります。
opensslコマンドはちゃんと動いているように見えるけど、
これはlinux上でクロスコンパイルしたものです。
241:デフォルトの名無しさん
07/10/03 12:39:44
>>240
うちではなりません。
242:デフォルトの名無しさん
07/10/03 13:14:45
>>241
ありがとう。
いまリンカオプションが臭いような気がしてopensslのMakefileを眺めてる
なんかわかったら報告する。しなかったら挫折したということで。
243:デフォルトの名無しさん
07/10/03 13:35:32
kkcfuncっていえば16bitアプリになってるような気がするね
いや、よくわからんですけど
244:デフォルトの名無しさん
07/10/04 08:24:33
kkcfuncが原因じゃないと思う
とりあえず必要最小限の再現可能ソースを晒せ
245:240
07/10/04 15:58:57
とりあえず報告
問題はlibcurl.dllにあったみたい。
こいつがどうも変なライブラリにリンクしてて、
それが16bit?な環境に依存してるのでKKCFUNCが起動された...と思う。
Windowsは正直良くわからない。
CURLの本家が配布してる2000/XP用のlibcurlバイナリに差し替えたら直った。
なんでCURLがそんな変なライブラリに依存してたかは時間があれば調べてみる
時間がかかったのは、単純に問題のlibcurlにリンクして初期化するだけの
プログラムでは問題が起きなかったから。でもこれは勘違いかも。
autotools使ってるunixソフトの移植なんて簡単さ、と思ってたら
結構いろんなとこでハマって困った。
つか、windowsのリンクってなんか変。
246:デフォルトの名無しさん
07/10/08 04:22:25
漏れもkkcふんcを組み込みましたというえらーにであたことあります
拡張子がcomの実行ファイルがjっじこうされたことがっげえいんだったとおもいます
たぶんpythonかrubyだったとおもいます それをけしてふつうのEXEがじこうしたらふつうになりました
247:デフォルトの名無しさん
07/10/09 04:10:09
Cygwinで
setlocale(LC_ALL,"Japanese_Japan.932");
が動いた記念カキコ。
-mno-cygwin -finput-charset=cp932 -fexec-charset=cp932
これでCロケール使わせれば、Boost.Regex使えないかな・・・
248:デフォルトの名無しさん
07/10/09 09:16:17
>>247
日本語 Windows では cp932 がデフォルトだから、それ、
setlocale() が動いたんじゃなくて無視されてるだけじゃないの?
どんなコードが「動いた」のか教えてほしい。
249:デフォルトの名無しさん
07/10/09 09:23:36
>>247
それおもいっきりMSVC用のロケール文字列だな
-mno-sygwinしてて実はmingwでした
MSVCRTとリンクしてました
ってとこじゃねぇのか
250:デフォルトの名無しさん
07/10/09 10:28:31
-mno-cygwin なんだから当然 cygwin.dll じゃなく MSVCRT だろ
251:デフォルトの名無しさん
07/10/09 10:44:50
>>250
ああすまん、>>247で思いっきり-mno-cygwin指定してんだな
見逃してたw
252:247
07/10/10 21:52:09
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:デフォルトの名無しさん
07/10/11 02:25:15
cygwinでtgifを使いたいです。
そこで、こちらのサイトを参考にしました。
Cygwin + X + 日本語アプリケーション
URLリンク(www.eaflux.com)
おそらくインストールは完了したとは思います。
でも、いざ実行しようとしたら
Error: Can't open display:
とエラーが表示されます。どうすれば解決できるでしょうか?
254:デフォルトの名無しさん
07/10/11 03:05:42
>>253
つ[DISPLAY]
255:デフォルトの名無しさん
07/10/11 03:36:36
ごめんなさい。よく分からないです。
オプションを参照せよとのことでしょうか?
256:デフォルトの名無しさん
07/10/11 07:58:07
xならdisplay接続先のXサーバがあるわけで、それを指定するには大抵DISPLAY環境変数を使うわけだ。
Xサーバがローカルなら、DISPLAY環境変数に":0.0"でも設定しておけばいいはずなんだが。
もしXの環境構築の経験がないなら、LinuxでもMacでもSolarisでも一度その辺りを覗いてきたら?
257:デフォルトの名無しさん
07/10/12 05:17:15
詳しい解説ありがとうございます。
残念ながら全く理解できません。
私は環境構築とかのレベルじゃないようです。
失礼しました・・・。
258:デフォルトの名無しさん
07/10/14 06:15:36
前の方でglutの話が出てたのでメモ
URLリンク(mywebpage.netscape.com)
259:デフォルトの名無しさん
07/10/14 09:57:01
GDI+は
MinGWでも使うことはできるのでしょうか?
260:デフォルトの名無しさん
07/10/14 10:40:08
>>259
試したことねーけど普通に使えると思うよ
gdiplus.dllに入ってるのはflat APIとよばれる普通のCインタフェースで
それをC++のヘッダに書かれたクラス群でラップしてるだけだから
リンケージやABIまわりの問題は無いはず
261:259
07/10/14 14:53:45
>>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:デフォルトの名無しさん
07/10/18 18:02:58
すいません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:デフォルトの名無しさん
07/10/25 06:50:28
バージョンも環境も書かずに
264:デフォルトの名無しさん
07/10/25 15:42:22
多分その前のスレの奴らは
こんな奴相手に出来るか!
と思って厄介払いしたんだな。
265:デフォルトの名無しさん
07/10/29 01:59:11
Windows上でGtkmm使ったプログラムを創ろうとしています
Cygwin環境でやるのがいいか
Mingw環境でやるのがいいか
それともネイティブがいいのか
迷っています
266:デフォルトの名無しさん
07/10/29 12:09:57
>>265
迷う程度の知識レベルなら止めた方がいいと思います。
267:デフォルトの名無しさん
07/10/30 08:40:24
Qt4でやれ
268:デフォルトの名無しさん
07/11/02 23:07:37
cygwin環境のgccで.cをコンパイルしたんですが、実行している途中
タスクマネージャで実行プロセスを見ると最大使用メモリ量と使用メモリ量が同じでした。
これは使用メモリ量の制限によって処理速度が落ちていると考えてよろしいでしょうか?
時間のかかる処理なので少しでも速くしたいのですが、解決策はありますか?
regtoolでcygwinの最大メモリを増やすのは試しましたが、見当違いだったようです。
269:デフォルトの名無しさん
07/11/02 23:43:46
>>268
そもそもメモリが足りなければ、GCCは落ちると思う。
タスクマネージャのヘルプによれば、
最大使用メモリ量は、プロセスが開始してからのメモリ使用量のピーク値。
だから、これが使用メモリ量と同じだったからといって、足りていないということではない。
270:デフォルトの名無しさん
07/11/03 00:59:12
>>269
そうなんですか、己の無知がお恥ずかしい・・・
迅速な返信ありがとうございました。
271:デフォルトの名無しさん
07/11/03 02:28:11
>>269
gccの実行中という意味なのか?
>>270
速くしたいなら効率の良いプログラミングが出来るように
勉強したり、経験を積むしかないだろ
272:デフォルトの名無しさん
07/11/05 11:30:13
コンパイル中のメモリのことじゃなくて
実行プログラムの方の話を行ってるんだろう
>>271は日本語の勉強をしたほうがいい
273:デフォルトの名無しさん
07/11/05 20:46:37
>>270
JavaやLispのようなGCあり言語の経験を元に話してる?
コミットチャージが物理メモリを越えてとスワップ処理で遅くなるけど
最大メモリは関係ない。プロファイルとってみたら?
274:デフォルトの名無しさん
07/11/10 06:18:35
Cygwinではstrdup関数はどこのフォルダのどのファイルに定義されていますか?
string.hでは宣言のみでした。
275:デフォルトの名無しさん
07/11/10 06:26:11
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:デフォルトの名無しさん
07/11/10 10:30:53
>>274
ライブラリの中。
>>275
何て警告が出るの?それを読んで、どうすればいいかわからないの?
そのバージョン、 bash のバージョンだよ。コンパイラのバージョンは
gcc --version ね。
277:デフォルトの名無しさん
07/11/10 14:05:24
MinGW-5.1.3とgcc-3.4.5でSTLport-5.1.4を使いたいのだけど、
コンパイル時undefined reference toとか出てきて上手くいかない。
(-lstlport.5.1とかやってるにも関わらず)
上手く動いている方、インストールの手順を教えてくれませんか?
278:デフォルトの名無しさん
07/11/10 16:50:11
>>277
configure してる?
279:デフォルトの名無しさん
07/11/10 17:13:20
MinGWのGCC使ってOpenGLのプログラム書いてるんだけど
なんかgl.libとかglu.libがないような気がするんだが。
undefined reference to wglCreateContext@4 とか出るし。
280:デフォルトの名無しさん
07/11/10 18:50:10
マニュアル嫁よ
281:デフォルトの名無しさん
07/11/10 18:58:18
>>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:271
07/11/11 11:16:59
>>272
日本語の勉強が必要なのは269だろ。
あとお前は脳神経外科にでも池
283:277
07/11/13 00:32:20
解決した。
-oオプションが抜けてた。orz
けど、プログラムの先頭に
#define _STLP_USE_STATIC_LIB
と書いてもダイナミックリンクになってしまうんだがこれってmingwの使用か?
284:デフォルトの名無しさん
07/11/13 00:54:41
#defineはプリプロセッサへの指示であってリンカへの指示じゃないぞ。
285:277
07/11/13 08:50:58
>>284
その通りだな。orz
初心者ですまん。
286:デフォルトの名無しさん
07/11/13 17:51:27
先日cygwinを導入してこちらのサイトにあるソース
URLリンク(www.geekpage.jp)
を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)
です。
287:デフォルトの名無しさん
07/11/13 20:32:40
netdb.hを探して"addrinfo"で検索かけてみ
288:デフォルトの名無しさん
07/11/13 20:51:19
オウ・・無いですね
手打ちで追加してみたんですがどうもうまくいかないのですが
cygwinでコンパイルするにはどうすればいいのでしょう?
289:デフォルトの名無しさん
07/11/21 23:19:42
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:デフォルトの名無しさん
07/11/22 03:03:47
ごちゃごちゃしてよくわからん
291:デフォルトの名無しさん
07/11/22 09:11:49
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:289
07/11/22 23:03:52
説明下手ですいません。
まず、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:デフォルトの名無しさん
07/11/23 00:34:45
普通に置いてあるだろ…
URLリンク(downloads.sourceforge.net)
294:デフォルトの名無しさん
07/11/23 00:35:10
んーと msys だと /usr も / も msys にマウントされるみたいなのよ
だから /usr/bin は /usr の下つまり msys の下だから msys\bin になる
違和感を覚えるけど
まあそういうものみたいだと割り切ってるけど
295:デフォルトの名無しさん
07/11/23 10:37:12
質問ですが、MinGWで関数名の最後に@XXがついていないDLLを使用するにはどうすればよろしいでしょうか?
@XXのないDLLを作成するのは-kオプションでできますが、それをMinGWから利用しようとするとundefined referenceと出てしまいます。
DLLをコンパイルするときに-kオプションをつけなければ難なく呼び出せます。
呼び出し規約はstdcallです。IDEはDev-C++を使っています。
どうしても@XX以降をなしにしたいです。
296:295
07/11/23 14:29:52
解決しました。
モジュール定義ファイルに@XXつきの関数を列挙してそれを元にdlltoolしたところ問題なくできました。
297:289
07/11/24 00:55:18
反応遅くてすいません。さすがに会社から書き込みはしないようにしてるので。
>>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情報。
298:デフォルトの名無しさん
07/11/24 06:30:46
>入っているはずのperlが無いとか~
以下
チラシの裏に書け。
299:デフォルトの名無しさん
07/11/25 15:20:07
MinGWをコンパネのプログラムの追加と削除でアンインストール(MSYS含む)
したんだけど、フォルダとその中身が消えね。
誰か正しいアンインストールの方法おしえテルミー。
レジストリもなんかいじってんのかな?
300:デフォルトの名無しさん
07/11/25 16:05:29
フォルダとその中身を消せばいいんじゃね?
301:デフォルトの名無しさん
07/11/25 16:14:10
レジストリに何か残ってたらまずいんだけど。。。
302:デフォルトの名無しさん
07/11/25 16:35:03
OS再インストールすればいいんじゃね?w
303:デフォルトの名無しさん
07/11/25 21:54:35
Vistaにcygwin入れたんだけど、マウスでドラッグして文字列選択する場合
、いちいち[編集(E)]→[範囲指定(K)]してからじゃないと選択できないんだけど
2000でやってたときは、何もしなくも選択できたのに
何とかならんでしょうか?
304:デフォルトの名無しさん
07/11/25 22:21:17
プロパティで簡易編集モードをONに
305:デフォルトの名無しさん
07/11/25 22:29:50
>>304
できた、ありがとう、助かったよ
306:本田
07/11/26 00:32:24
HX DOS Extender
URLリンク(www.japheth.de)
Many development environments which support creating Win32 console applications are compatible with HX, among them are:
* Open Watcom C++
* Digital Mars C++
* MinGW (uses GCC)
* CygWin (uses GCC)
* MS Visual C++, including the free version of MS Visual C++ Toolkit 2003
* Borland C++, including the free version of C++ Builder Command Line Tools
* LADSoft CC386
* Pelles C
* LCC-Win32 (C compiler)
* Borland Delphi
* Free Pascal (Win32)
* Pascal Pro
* Virtual Pascal (Win32)
* FreeBasic (Win32)
* PowerBasic
* MicroFocus Object Cobol
* XDS Modula II
* MASM, TASM, POASM, WASM, FASM, LZASM, NASM, GOASM, ...
307:デフォルトの名無しさん
07/11/26 04:40:35
do sex tender か
いやらしいな
308:デフォルトの名無しさん
07/11/26 15:11:04
However, as I mentioned above, the -mno-cygwin parameter is going to be
phased out. Primarily because people think it does something it
doesn't, and that leads to way too many support requests on the cygwin
mailing list:
Q: My unix app compiles on cygwin. Now I want to make a version that
doesn't use cygwin, so all I need to do is say -mno-cygwin, right?
A: Wrong...you're still making posix calls...
Q: you guys suck!
A: #!@%!
笑
309:デフォルトの名無しさん
07/11/26 15:11:58
部分文字列一致でサクサクパッケージを選択したい.
310:デフォルトの名無しさん
07/11/27 00:44:48
僕のcygwin環境だと、ls-lすると、例えば、以下のように表示されるですけど
ここでファイル属性の最後の'+'って何の属性でしょうか?
----------+ 1 xxxxxx None 333402 Aug 9 2005 loop.c
311:デフォルトの名無しさん
07/11/27 00:55:33
acl で内科医
312:デフォルトの名無しさん
07/11/27 01:22:24
>>311
勉強になりました、ありがとうございます。
313:デフォルトの名無しさん
07/11/27 18:43:33
GCCを用いた統合開発環境(IDE)を作ろうかなって思いついたんだけど、
MinGWのGCCってGPLだから、その利用を前提にしたIDEもGPLに従わんといかんのかな?
BSDライセンスとかソースを公開しないでいいGCCってあるの?
314:デフォルトの名無しさん
07/11/27 19:58:25
ボーランドのビルダーXとかあったけど
315:デフォルトの名無しさん
07/11/27 20:12:50
IDEの動作にGCCが必須ならGPLになるかもしれんけど、
そういうわけではないだろうから問題ないと思う
316:デフォルトの名無しさん
07/11/27 21:27:22
>>313
gccじゃないがpccとかBSD界隈では注目されてるね
子プロセスとして起動する程度ならGPLの影響はないけど
ソースレベルで利用するの?
317:デフォルトの名無しさん
07/11/27 22:09:27
Eclipse+CDTを使えばいいじゃない。
318:デフォルトの名無しさん
07/11/27 22:29:12
既にあるじゃん、って話なら他にも腐るほどあるじゃない。
319:デフォルトの名無しさん
07/11/29 02:35:33
>>313
リンクしたりしなければGPLに感染したりしない.
#コマンドを呼んで感染するならシェルはみんなGPLだな…
320:デフォルトの名無しさん
07/11/29 09:14:53
CC:
LDLIBS = -l/usr/X11R6/include -L/usr/X11R6/lib -lGLU -lGL -lXmu -lXi -lXext -lX11 -lm
.c:
$(CC) init2.c $(LDLIBS) -o init2
というMakeFileを使用して
make init2
を実行したのですが、以下のような表示が出力されて実行ファイルが作成できません。
どんな原因なのでしょうか?
$ make init2
cc init2.c -l/usr/X11R6/include -L/usr/X11R6/lib -lGLU -lGL -lXmu -lXi -lXext -l
X11 -lm -o init2
init2.c:68:2: warning: no newline at end of file
/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../i686-pc-cygwin/bin/ld: cannot find
-l/usr/X11R6/include
collect2: ld returned 1 exit status
make: *** [init2] Error 1
321:デフォルトの名無しさん
07/11/29 09:44:18
cannot find -l/usr/X11R6/includeってちゃんと理由書いてあるだろ。
322:デフォルトの名無しさん
07/11/29 11:08:08
本当は -I/usr/X11R6/include (小文字の L ではなく大文字の i)
にしたかったんだろうな
323:デフォルトの名無しさん
07/11/30 11:21:38
makeしたときにでるNothing to be doneってのだけを消すことはできませんか?
実際にコンパイルしている様子は表示してほしいのですが
Nothing to be doneはうっとおしいので、なにもすることがなければ
静かに終わってほしいのです。
make -sってやるとなにも言わなくなってしまう…
324:デフォルトの名無しさん
07/11/30 12:00:08
×うっとおしい
○うっとうしい
325:デフォルトの名無しさん
07/11/30 13:12:23
>>323
#!/bin/sh -f
make $*|grep -v 'Nothing to be done'
326:デフォルトの名無しさん
07/12/02 01:31:53
>>325
もう少しがんばりましょう
> Nothing to be doneってのだけを消すことはできませんか?
327:デフォルトの名無しさん
07/12/02 07:34:35
unixコマンド全般についての質問は板違いなんで他あたってくれ
328:デフォルトの名無しさん
07/12/13 22:00:22
..とか~とかカレントディレクトリからの相対パスとかを正規化して絶対パスにしくれるステキ関数ありますか?
/usr/local/suteki.exeに実行ファイルがあるとして
suteki("aaa") は /usr/local/aaa
suteki("../aaa") は /usr/aaa
にしてくれる関数を探してます
329:デフォルトの名無しさん
07/12/13 23:10:00
>>328 glob.h
330:328
07/12/14 00:33:08
>>329
GLOB_TILDEを使うとホームディレクトリは展開してくれるのですが.とか..を展開してくれません><
331:デフォルトの名無しさん
07/12/14 00:48:57
realpathでいいじゃん
332:328
07/12/14 01:38:32
>>331
おおおお まさしくこれです
ありがとうございます
333:デフォルトの名無しさん
07/12/14 17:12:16
これでx-window動かしたいんですけど
手順教えてください。
334:デフォルトの名無しさん
07/12/14 17:18:36
板違いになるから
Windows板のCygwinスレか
スレリンク(win板)l50
Unix板のCygwinスレでやってくれ
スレリンク(unix板)l50
335:デフォルトの名無しさん
07/12/14 17:36:12
すみませんでした
336:デフォルトの名無しさん
07/12/18 13:44:38
URLリンク(www.mingw.org)
を参考にしてクロスコンパイラを生成しようとしていますが、問題が2つ出てきました。
環境はbuild-system = host-system = i386-pc-mingw32でtarget-system = arm-unknwon-elf (arm7tdmi)です。
1.本当に成功したのかわからない(Build and installing the c compiler)
サイトにはmkfixinc.shをi?86-*-mingw32*からi?86-*-armにしろと書いてありましたが、
fixincでmakeエラーになったのでarm-*-elf*に変更してやったらmake installまで成功しました。
しかし、インストール先のフォルダを見ると直下のincludeフォルダが空になっています。
fixincはどうやら、includeファイルを生成するもののようなのですが、これは成功なのでしょうか?
以下スクリプトを一部書き換えたところです。
$SRCDIR/configure \
--with-gcc --with-gnu-ld --with-gnu-as --host=mingw32 --target=arm-elf --with-cpu=arm7tdmi
-with-newlib --prefix=$prefix --enable-threads --disable-nls --enable-languages=c,c++
--disable-win32-registry --disable-shared --enable-sjlj-exceptions --enable-libgcj
--disable-java-awt --without-x --disable-libgcj-debug --enable-interpreter
--enable-hash-synchronization --enable-libstdcxx-debug 2>&1 | tee
gcc_configure.log
make all-gcc CFLAGS="-O2 -pipe" CXXFLAGS="-O2 -pipe" LDFLAGS=-s | tee
make-c-only.log 2>&1
成功するがインストール先フォルダ直下のincludeフォルダは空になっている。
2は次をご覧ください。
337:デフォルトの名無しさん
07/12/18 13:49:41
2.newlibのmakeが失敗する
これも>>336で言ったサイト(Building and installing newlib)を参考にしています。
そのシェルスクリプトをそのまま実行しました。
しかしmakeでエラーになってしまいます。
make[3]: Entering directory
`/home/(UserName)/build/arm-elf/ARM7TDMI/newlib/etc'
/C/msys/1.0/home/(UserName)/newlib-1.15.0/missing
makeinfo --split-size=5000000 --split-size=5000000 --no-split -I/C/msys/1.0/home/(UserName)/newlib-1.15.0/etc
-o standards.info
/C/msys/1.0/home/(UserName)/newlib-1.15.0/etc/standards.texi
WARNING: `makeinfo' is missing on your system. You should only need it if
you modified a `.texi' or `.texinfo' file, or any other file
indirectly affecting the aspect of the manual. The spurious
call might also be the consequence of using a buggy `make' (AIX,
DU, IRIX). You might want to install the `Texinfo' package or
the `GNU make' package. Grab either from any GNU archive site.
make[3]: *** [standards.info] Error 1
make[3]: Leaving directory
`/home/(UserName)/build/arm-elf/ARM7TDMI/newlib/etc'
make[2]: *** [info] Error 1
make[2]: Leaving directory
`/home/(UserName)/build/arm-elf/ARM7TDMI/newlib/etc'
make[1]: *** [all-etc] Error 2
make[1]: Leaving directory `/home/(UserName)/build/arm-elf/ARM7TDMI/newlib'
make: *** [all] Error 2
WARNINGに書かれているようにTexInfoを
URLリンク(sourceforge.net)
からダウンロードしてインストールしても変わりませんでした。どうかよろしくお願いします。
338:デフォルトの名無しさん
07/12/18 15:25:46
URLリンク(sourceforge.net)
DS用のビルドスクリプトだけど
多分、いや確実に参考に出来る
339:sage
07/12/18 16:43:26
>>328さん、ありがとうございます。早速試してみたいと思います。
340:sage
07/12/18 16:43:54
>>338さんでした。。。
341:337
07/12/19 11:41:12
>>338さんから教えていただいたシェルスクリプトで、c compilerのインストールまでは
完了したのですが、newlibのmakeで>>337と同じくエラーになってしまいました。
newlibをMinGW(WinXP)のmakeの方法を知ってらっしゃる方、よろしくお願いします。
342:デフォルトの名無しさん
07/12/19 17:18:00
dllからのC++例外をexe側で捕捉できないでしかもhangupするのは仕様ですか?
dllとexeはともにcygwinのg++で作ったものです
ちなみに例外のthrowとcatchがexeで完結してるならちゃんと捕捉できます
343:デフォルトの名無しさん
07/12/21 22:46:12
>342
これが Cygwin にも適用されるかどうかはわからないけど
URLリンク(gcc.gnu.org)
344:デフォルトの名無しさん
07/12/22 10:35:01
MinGW使ったんだけどsys/ioctl.hとかのヘッダーがないけど、
これってMinGWがまだ不完全だからってこと?
それともどっかに落ちてるのを適当に拾って入れればいいの?
345:デフォルトの名無しさん
07/12/22 11:49:24
wikiから
>MinGWの名称はMinimalist GNU for Windows(Windowsのための最小限度の
>GNUの意)を表わす。
>CygwinはLinuxや他のUNIXシステムに見られるような、Windows上に完全な
>POSIX層を提供することを目標にしており、互換性のために必要であれば性能も
>犠牲にしている。一方でMinGWはフリーのコンパイラと各種ツールのみを行い、
>性能を重視している。
>MinGWはPOSIX APIを提供していないので、Cygwinでコンパイル可能だが
>MinGWでは可能で無いUnixアプリケーションが存在する。
346:デフォルトの名無しさん
07/12/22 20:06:51
つまり、ioctl使いたかったらcygwin使っとけってこと。
347:デフォルトの名無しさん
07/12/24 11:04:13
URLリンク(sourceforge.net)
SourceForgeのMinGWダウンロードのところのソースファイルをダウンロードして自分でmake installしようとしたんだけど、
makeで必ず失敗する。
WinXPでMinGW環境だとだめってこと?
なんでMinGWのダウンロードのところにあるのにmakeができないの?俺だけ?
i386用のバイナリがあるからそれ使えっていうのもわかるけど、
ちょっとバージョンの新しいのを入れたいからmakeしようとしたら全然だめ。
確認のため、今すでにMinGW版としてあるやつのソースもmakeしたら全然だめ。具体的にはTexInfoね。
これどうゆうこと?
348:デフォルトの名無しさん
07/12/24 11:31:14
エラーメッセージが理解できるようになってから来てください
349:デフォルトの名無しさん
07/12/24 11:51:51
エラーメッセージくらいわかってるよ。
でもMinGWにはないヘッダーとか使ってるソースがMinGWにあるんだぜ?
しかもバイナリ形式もあるんだぜ?
おかしくない?
それとも俺が何か入れ忘れてるの?
350:デフォルトの名無しさん
07/12/24 11:58:02
入れ忘れてんじゃネーの?
makeに必要な環境がなかったらmakeは通らんだろ。
351:デフォルトの名無しさん
07/12/24 12:25:24
> でもMinGWにはないヘッダーとか使ってるソースがMinGWにあるんだぜ?
なにも不自然な点は見受けられないんだが
352:デフォルトの名無しさん
07/12/24 12:58:36
「環境を構築するための資源」と、「環境を利用するための資源」は違うんだぜ。
353:デフォルトの名無しさん
07/12/24 13:07:03
それってどっかからライブラリなりヘッダーなりを調達する必要があるときはあるってこと?
それってMinGW用とかじゃなくて適当なところから持ってきて適当に追加すんの?
具体例とかあるとわかりやすくてうれしいんだが。
354:デフォルトの名無しさん
07/12/24 14:34:58
適当ってなんだよ適当って。
MinGW側でパッチが必要なものはMinGW側に置いてあるだろうし、
置いてないものはGNUサイトとかミラーからでも拾って来ればいいだろう常識的に考えて。
355:デフォルトの名無しさん
07/12/24 14:52:57
README.devとINSTALL.genericは読んだのか?
configureはちゃんと通ってるのか?
根本的に、スキルが足りないんじゃないのか?
356:デフォルトの名無しさん
07/12/24 15:13:53
すまん。もしかしてmsysDVLPRを入れてなかったからなのか?
とりあえずやってみるが、うまくいかなかったらフォローしてくれ。
357:デフォルトの名無しさん
07/12/24 17:24:42
URLリンク(www.mingw.org)
とか読んでみたんだが、よくわからん。
とりあえずmsys直下にmsysDVLPRを解凍していれてやればいいみたいなんだが。
このmsysDVLPRもgcc-libの中にexeがあったりして、これでいいのかとよくわかんない。
それと.profileを編集するようなんだが、これもよくわからん。
くれくれ君ですまないが、誰か知ってる人正しいmsysDVLPRの入れ方とかmsysBuild環境の作り方教えテルミー。
358:デフォルトの名無しさん
07/12/24 17:26:34
それと適当に入れてbashのmakeをINSTALL.MSYSにならってしてみたんだが、cc1.exeが-fnative-structというオプションがわからんとか言ってエラーになった。
やっぱり環境構築がおかしいんだろうか。詳しい人たのむ。
359:デフォルトの名無しさん
07/12/24 19:17:58
あのさ、一々アゲて「俺、ソースmake初挑戦日記」書くの止めてくんないかな。
そういうのは、mixiでやってくれ。冬休みに入ったのはわかったから。
360:デフォルトの名無しさん
07/12/25 11:09:03
>>347
TexInfoのロケールの問題で引っかかってるんじゃない?
以前俺がBuildしたときは、それでエラーになってた。
そんときは LC_ALL=C でBuildしたら通った。
361:デフォルトの名無しさん
07/12/25 12:12:18
>>360
すまん。今MinGW/MSYS環境を作り直してるところでそのレベルに行ってない。
昨日適当な環境でTexInfo4.9をmakeしてみたんだがinclude/pwd.hの65行目がおかしいとかいって終了した。
今は正しい環境づくりのため、>>357であげたサイトを調べてる。
正直英語は辛い。訳も半分ぐらいしたが、なんかあやしげ。
msysDVLPRってmsysとmsysDTKをインストールしたあとにそのインストールしたフォルダに入れればいいんだろうか?
それともmsysDVLPRだけでいいんだろうか?
訳してみるとmsysDVLPRだけっぽいんだが、実際としてはmsysインストールしてから追加インストールするものだと思う。
TexInfoとかのビルドが成功した人はどんな風にMSYS環境を作ったのか教えてほしい。
362:デフォルトの名無しさん
07/12/25 12:52:23
>>361
基本的にはMSYSとmsysDTK入れただけだな。
あとは msys用bisonとflex入れた程度
mingwはlibiconv入れた
363:デフォルトの名無しさん
07/12/25 13:06:24
>>362
環境はWinXP?
俺はMinGW Download pageにあるTexInfo4.11すらビルド失敗。
364:デフォルトの名無しさん
07/12/25 14:48:20
mingwのgccのmingw-local patchesって何処にあるの?
365:デフォルトの名無しさん
07/12/25 15:40:08
>>363
うん。 WinXP
TexInfoのBuildは、いろいろ入れないとできなかった気がするんで、
うちはバイナリをダウンロードしてきて入れた。
TexInfo入れずに configureしてBuildできなかったっけ?
このTexInfo関係はドキュメント作成するのに必要なだけなんでスキップしても
問題ないんだけどね。
366:デフォルトの名無しさん
07/12/25 16:04:10
>>365
うん。俺もドキュメントだから関係ないと思ったけど、
やっぱりみんなが(外人とか)当たり前にビルドしてるのに
できないのが、なんか納得いかなくてな。
それにTexInfoのバージョンあげないと、他のツールをビルドするときにMakefileとかを
強制的に書き換えないといけないのが、なんか嫌だったんだ。
とりあえず今はbashのMinGW Download pageにおいてあるやつをビルドしようと思ってるんだが、
INSTALL.MSYSとか読むと
URLリンク(www.mingw.org)
が必要らしんだな。でも英語得意じゃないからそれっぽくやってみてもうまくいかないし。
正直もうお手上げ状態だ。英語をちゃんと理解できればいいんだがな。愚痴っぽくなってすまん。
367:デフォルトの名無しさん
07/12/25 16:21:08
mingwにあるtexinfo-4.11は
adaのgnat_ugn__unw.texiでエラーでるんでtexinfo-4.8使ってるんだが
これは正常なの?
368:デフォルトの名無しさん
07/12/26 14:17:32
誰か頼むからWinXPでMinGW5.13とMSYS1.0.10とmsysDTK-1.0.1入れてbash3.1のソースとか
をビルドできるか試してくれ。
俺はできないと思う。
msysDVLPRも入れてみたがだめだった。えろい人たのむ。
369:デフォルトの名無しさん
07/12/26 14:41:02
とりあえずあきらめて悟りを開くかCygwinに乗り換えるかしれ。
立てよ国民!gcc -mno-cygwin!!
370:デフォルトの名無しさん
07/12/26 14:59:08
いや俺はあきらめたくない。
mingw-usersとかのメーリングリスト見てるとみんな当たり前にやってんだぜ。
英語が苦手なだけでMinGWを利用できないなんて悔しくてやだ。
でも解決策はわからん。
371:デフォルトの名無しさん
07/12/26 15:16:57
どこの中二病患者?
372:デフォルトの名無しさん
07/12/26 15:27:33
英語もダメ。スキルもない。出来ないと暴れる。最悪だな。
373:デフォルトの名無しさん
07/12/26 15:38:52
>>370
そろそろウザイって言われてることにさっさと気づけよ、邪魔なんだよ。
374:デフォルトの名無しさん
07/12/26 15:54:43
お前らだってできねーんだろ?
375:デフォルトの名無しさん
07/12/26 15:55:15
煽っても無駄なのにね
376:デフォルトの名無しさん
07/12/26 16:02:33
>>368
なんでUNIX系シェルとか依存性の強い物をBuildしようとするかな・・・
たぶんMingw用のglibcヘッダとかライブラリが必要だと思うよ。
たしかどっかにあったはず。
あと binutilとかバグがあるバージョンもあるから、そのあたりも変えてみたら。
binutilは上記のものとかなくてもbuildできるはず。
377:デフォルトの名無しさん
07/12/26 17:04:33
ごめんな。感情的になってしまった。
確かに俺は頭悪いが、>>368みたいに親切なやつもいるから
またがんばるよ。
378:デフォルトの名無しさん
07/12/26 17:33:01
いみふめい
379:デフォルトの名無しさん
07/12/26 17:47:15
>>368
暇だからビルドしてみた。
msysDVLPRとbisonとflexを追加。
URLリンク(www.mingw.org)
このバグでちょっとハマった。
おしまい。
380:デフォルトの名無しさん
07/12/26 17:51:13
っていうかここに全部書いてあった。
URLリンク(www.mingw.org)
このページすら読めないようならまず英語の勉強した方がいい。
381:デフォルトの名無しさん
07/12/26 18:10:50
おお、みんなありが㌧。
>>379
俺もこれはやった。msys/includeじゃなくてmsys/lib/gcc-lib/...の方をこれで直して少し進んだんだが、
そのあとやっぱり失敗した。
>>380
俺もそれは読んだよ。gnuwin32のflexとbisonいれてtermiosも>>379のように修正。
だがだめだった。
URLリンク(www.mingw.org)
ここがちゃんと理解できてないからなのかだめだ。
>>376
glibcのmingwバージョン探してるが、みつからない。
382:デフォルトの名無しさん
07/12/26 18:27:51
>>379
どのツールのビルドした?
あとmsysDVLPRだが、以下に書く手順であってるか知りたい。
MinGW5.13、msys1.10.11、msysDTKをインストーラからインストール。
msysDVLPRをtar -zxvf msysDVLPR-1.0.0-alpha-1.tar.gzでmsys/1.0直下から展開。
それと.profileを
if [ $MSYSTEM == MINGW32 ]; then
export PATH=".:/usr/local/bin:/bin:$PATH"
else
export PATH=".:/msys/bin:/usr/local/bin:/bin:$PATH"
fi
といじって、そのごmsysdvlprシェルを起動して白いmsysコンソールからビルド。
違うところがあったら教えてくれ。
383:デフォルトの名無しさん
07/12/26 19:05:38
はっきり言ってチョーウザイ。
日記はmixiでやれって言ってんの。
おまいには無理、それでいいだろ。
384:デフォルトの名無しさん
07/12/27 09:57:36
>>382
念のために書いておくけど、ちゃんと
./configure
してからmakeしてるよな?
まぁ基本的なことだから大丈夫だとは思うが。
それから msysDVLPRを MinGW5.13の上に上書きするのはちとマズいかもな。
msysDVLPRにも gcc及びライブラリが入ってるから。
385:デフォルトの名無しさん
07/12/27 10:16:22
もちコース。./configure、make、make installぐらいは知ってるぜ。
msysDVLPRはmsysの方に入れてるんだがこれって間違い?
MinGWiki読むとmsysの方に解凍してるみたいだが。
386:デフォルトの名無しさん
07/12/27 10:18:12
でもbashのビルドはINSTALL.MSYSにしたがって、一応msysrlsbldっていうスクリプトやってるけどな。
中身は結局configure、makeみたいな感じだ。
387:デフォルトの名無しさん
07/12/28 23:45:45
Mingwでソケットを使おうとしたら使えない!
インクルードファイルがみあたらないのですがなんででしょう・・・。
388:デフォルトの名無しさん
07/12/29 01:14:53
MinGWなんだからwinsock使えよ…
389:デフォルトの名無しさん
07/12/30 02:43:17
基本的過ぎる質問だと思うのですが
検索してもわからなかったので書き込ませて頂きます
cygwinのgccを使ってC,やC++の開発を行うときのライブラリは
やはりcygwinのそれっぽいのをとってくるんでしょうか?
それとも別のIDEからライブラリ部分を持ってきたりするんでしょうか?
windows.h 関係が欲しいのですが
通常はどこで手に入れるものなんでしょう?
390:デフォルトの名無しさん
07/12/30 02:53:46
w32api
391:デフォルトの名無しさん
07/12/30 08:17:47
>>390
ありがとうございます。適当に必要なものとどこからでも良いので
とってくればOKなんでしょうか?
とりあえずcppunitとw32api(3.9-1)をcygwinのsetup.exeからインストールしたんですが
cygwin\lib\w32api 配下に windows.h が存在せず
どこから手に入れればよいのか困っています
「普通はここから持ってくる」そんな場所はありますか?
392:デフォルトの名無しさん
07/12/30 08:27:55
どんなオプションを選んだかなんて覚えていないけど、
特に何もしなくても<windows.h>をインクルードできるし、
特にライブラリ指定しなくてもWin32 API使えている。
393:デフォルトの名無しさん
07/12/30 10:50:40
$ find /usr/include -name windows.h
/usr/include/w32api/windows.h
394:デフォルトの名無しさん
07/12/30 11:05:03
>>391はなんでヘッダファイルをlib配下でのみ探したのだろう
395:389
07/12/30 17:38:53
>>392
何が違うんでしょうか…? 俺にはさっぱりです
>>393-394
それは>>389がアホだからに他ならないわけで…。
…ありがとうございました
わからなかったのでPSDK入れようとしてました。
結局こんな感じでコンパイルしたら動きました
g++ test.cpp -I/usr/include -I/usr/include/mingw -v
includeされているパスが色々出てきて
それらがどこで設定されてるのかがイマイチわかっていませんが
おいおい調べていくことにします
396:デフォルトの名無しさん
07/12/30 17:57:30
>>395
/usr/include と /usr/include/mingw を一緒に使うのはどうかと思う…
ってかこの辺は解り難いとこなんだけど cygwin の gcc には使うlibcに応じて
2つモードがあるんよ.
- cygwinの提供するPOSIX APIを使う通常の cygwin のモード
- POSIX の API を使わずに Win32 API だけを使ってプログラムを書くための MinGW モード
gcc に -mno-cygwin オプションを付けると後者のモードになって /usr/include/mingw
ってのはその場合に使われるヘッダが入ってるのね。なので両方参照する必要はないはずなのよ?
それぞれのメリットやデメリットは…まぁ適当にぐぐってくださいね。
397:389
07/12/30 19:07:24
>>396
なるほど解説ありがとうございます。
初めに /usr/include だけを使った所 windows.h が読み込めて
その後に #include <tchar.h> する必要があったので /usr/include/mingw を読み込んでました。
/usr/include/mingw のみ -I すればコンパイルできました。
-mno-cygwin をつけるだけでもOKなのも確認しました。
クロスコンパイルやらなんやらの問題みたいですね。
とりあえず色々眺めてみることにします
398:デフォルトの名無しさん
07/12/30 20:04:19
>397
POSIX API を使うつもりがなくいなら -mno-cygwin を付けた方が
cygwin1.dll をリンクしないでいい分ライセンスとかいろいろ楽。
作りたいアプリケーションに応じて選んでくれ。
399:デフォルトの名無しさん
07/12/30 20:20:31
POSIX APIを使わないつもりがなくいときはどうしたらいいでしょう。
400:デフォルトの名無しさん
07/12/30 20:43:54
gccでデバッグオプション(-g -O0)を付けてコンパイルしたいのですが、
いったいどうやればいいのでしょうか?
いまのところはMakefile.amのINCLUDE変数に'-g -O0'を追加しているのですが、
明らかにおかしいので正しいやりかたを教えていただきたいのです。
環境はubuntu + gcc + autotoolsです。
(Linux板も探したのですが、適当なスレが見つけられなかったため
こちらに質問させていただきます)
401:デフォルトの名無しさん
07/12/30 21:02:09
大抵のMakefileなら、CFLAGS辺りに書けばよさそうだが。
402:デフォルトの名無しさん
07/12/30 21:35:22
autotool なら環境変数から引っ張ってきてるよね
CFLAGS="$CFLAGS -g -O0" ./configure
俺はこうして使ってるけど
403:デフォルトの名無しさん
07/12/30 21:35:26
>>400
この場合 Autoconf/Automake/Libtool スレあたりが適切かな…?
404:デフォルトの名無しさん
07/12/30 21:49:40
>>401
そうですよね
>>402
CFLAGS="$CFLAGS -g -O0" ./configure
のやりかたでできました。
ありがとうございました。
>>403
すいません。次から気を付けたいと思います。
405:デフォルトの名無しさん
07/12/31 02:00:32
よくあるのは configure に --enable-debug 付けると
デバッグオプションが付くように作ってあるとかかなぁ
406:デフォルトの名無しさん
08/01/01 20:05:29
wxWidgetsをリンクするために
'wx-config --cppflags'の出力されたものを
作成ファイルのMakefile.am内オプションに追加したいのですが
いったいどうやればいいのですか?
何度か同じことをする必要があるので
共通の変数か何かに設定できるとうれしいのですが。
(他のスレでも聞いたのですが、全く反応が無いのでマルポしています)
407:デフォルトの名無しさん
08/01/01 20:42:20
>>406
wc-config の出力結果を Makefile.am に書いたら意味ないだろw
configure.in を書いて configure 実行時に wc-config を実行してその結果
がMakefileの変数CXXFLAGSやLIBSに展開されるようにしてやればいいんじゃね?
あと autotools の使い方を基本から勉強しなおしてくれ。
そもそも autotoolize する必要があるのかってところから見直すといいかもしれん。
408:407
08/01/01 20:43:27
wc-configってなんだ… wx-config ね
409:デフォルトの名無しさん
08/01/01 23:42:35
>407
ありがとうございます。
> Makefileの変数CXXFLAGSやLIBSに展開されるようにして
これはいったいどうやればいいのでしょうか?
configure.inに
WXCXXFLAGS = 'wx-config --cppflags'
AC_SUBST(WXCXXFLAGS)
とやってもなしのつぶてで全く効果がありません。
あとautotoolsに関してなのですが、自分はもともとVCを使っていて
linuxでコンパイルする必要が出てきたので最近になってautotoolsを使い始めました。
なので残念ながらautotoolsをほとんど知りません。
これを使っているのは、いろいろなプロジェクトで
configureファイルを見かけるからなのですが
これを使わないとしたら他にどのようなツールが考えられますか?
自分はmakeをそのまま使うかbjamなどが思いつくのですが、
どれを選ぶにしろ大変そうで困っています。
ある程度ポータブルで分かり易いツールであればなんでもいいのですが、
良さそうなものがあれば紹介して頂きたいくらいです。
ちなみに、このプロジェクトのコンパイルに必要な手順は
1、プロジェクトに添付された(小さめの)外部ライブラリのソースからスタティックライブラリを生成
(この際、wxWidgetsが必要になるものもあります)
2、それらとライブラリのソースから一つのダイナミックライブラリを生成
3、最後に、メインプログラム(というかテストプログラム)をDLLをリンクして生成
と少し複雑です。
410:デフォルトの名無しさん
08/01/02 01:29:31
他のスレでもって、wxスレでもautoconfスレでも見かけなかったなぁ
まぁ別にどこでもいいんだけど
411:デフォルトの名無しさん
08/01/02 09:11:52
探したら スレリンク(tech板) にいた…
>>409
基本的に広い範囲で移植性を確保しようと思ったら大変なのはどのツール使っても同じなの
はその通りなんだけど、どの程度の移植性が欲しいのかってところかな?
autotools使うなら本でも読んでじっくり取り組んでくれ。
- URLリンク(www.amazon.co.jp)
あまり出来のいい本でもないけど…
412:デフォルトの名無しさん
08/01/02 09:30:35
>>411
基本的には
Windows(cygwin), Linux, FreeBSD, Mac
あたりで使えれば嬉しいのですが。
あまりマイナーな環境に対応するのは大変ですしね。
いい環境が見つかるまでは、マニュアルと本でがんばりたいと思います。
413:デフォルトの名無しさん
08/01/02 10:20:29
WXCXXFLAGS="`wx-config --cppflags`"
・・・ではないのかな 試してないけど
俺なら AC_PATH_PROG で wx-config あるかチェックするかな
414:デフォルトの名無しさん
08/01/02 15:12:07
>>413
ありがとうございます。ただ、それでもダメでした。
(>>409のWXCXXFLAGSはWXCPPFLAGSの間違いでした。すみません)
Makefile.inを見ると変数自体はちゃんと出力されているのですが
その中身がどうも空のようです。
Makefile.amではどちらか分からないので
一応@WXCPPFLAGS@と$(WXCPPFLAGS)の両方の形式で出力させています。
415:414
08/01/02 16:27:37
テストプログラムを作成しました。
原因の分かる方いましたら、是非教えてください。
URLリンク(www.uploda.org)
416:デフォルトの名無しさん
08/01/02 17:00:06
>>415
configure.ac の中身
WXCPPFLAGS=`wx-config --cppflags`
- 変数と'='の間にスペースは入れない
- 展開はバッククォート
普段UNIXライクOS使ってないならアレだがシェルスクリプトの基本を勉強する必要があるかも
417:デフォルトの名無しさん
08/01/02 17:02:34
>>415
そうそう Makefile.am の方は @WXCPPFLAGS@ でよくて $(WXCPPFLAGS) はいらない
418:デフォルトの名無しさん
08/01/02 22:37:44
>>416-417
できました!
やっとコンパイルに取りかかれそうです。
ありがとうございました。
419:デフォルトの名無しさん
08/01/04 07:52:12
>>418
Net BeansIDE V6 R3を実装し、C/C++コンポーネントのアドイン指定をし、
Cygwin言語処系gmake,g++,gcc等をインストールし、 Net BeansIDEを起動
することにより、自動でビルド環境が出来るじゃん。
まあ、autoconf automake の勉強するつもりならこんなやり方は為にならんが。
まあ、学生さんだったら時間あって勉強がてらハンドでやるのも良いんだろうけどw
よく考えたら、正月だったのか。じゃあ時間作れそうだな。
420:419
08/01/04 07:58:25
こっちの方が正確だったな
URLリンク(ja.netbeans.org)
Net BeansIDE V6 R3→表記ミス
組込系なら制約が有るかもしれんな。
ま、その辺り臨機応変にな。
人間がやるより早いぞ。
421:デフォルトの名無しさん
08/01/04 09:54:43
>>419
本人はVC使ってて他の環境(LinuxやFreeBSD)で容易にコンパイルできるように
autotoolize してるって書いてあるだろ…
そこで Cygwin + NetBeans 勧めても…
422:デフォルトの名無しさん
08/01/04 21:04:54
>>421
奨めないとPGままだろ?
ソフトウェア開発技術者とPGは違うぞ。
コンポーネントプログラミングの妙技も味わって貰わないとなw
423:デフォルトの名無しさん
08/01/04 21:21:17
>>421
autotoolizeって何?
スペルミスするくらいならオーソライズって書けよw
424:デフォルトの名無しさん
08/01/04 21:25:18
>>423
autoconf/automake 使って
./configure && make all && make install
って, やればインストール出来るようになってる
という意味ではないのか?
425:デフォルトの名無しさん
08/01/04 21:45:50
>>424
個人の造語を空想で断定しては恥かくだろう?
俺はレスの文脈からオーソライズと認識したまで。
何ならそのスペルで英和辞典なりコンピュータ用語事典を
探して見たら良い。
一生掛かっても見っからないことは断言できる。
ま、そんなチンケな話で揉めても仕方ないのでここで
ペンを置く。
426:デフォルトの名無しさん
08/01/04 22:07:03
うるせーよググれカス
427:デフォルトの名無しさん
08/01/04 22:08:42
>>425
レスの文脈からautotool-izeとしか認識できなかったがな。
オーソライズってのはauthorizeのことか?だとしても意味が通らんな
もっと文脈読まないと恥かくぞ?
428:デフォルトの名無しさん
08/01/04 22:11:01
>>417
その情報は古い。
Makefile.amでは、$(WXCPPFLAGS)と書くのが今風です。
Makefile.inでよきに計らってくれるので。
そうすると、$ make WXCPPFLAGS="-I/anotherdir/include"
なんかが使えます。
429:デフォルトの名無しさん
08/01/04 22:13:26
>>427
ふふ、暇なオジンやな?
本件にレスして道ズレにしようちゅう魂胆かなw
まあ、おまえが口べただと言うことは良く解った。ググった上でのレスだw>>426
430:デフォルトの名無しさん
08/01/04 22:22:17
冬休み学生のへたくそな煽りにわざわざ釣られるなよ…
431:デフォルトの名無しさん
08/01/04 23:13:08
>>423
これほど「プギャー(AAry」を貼りたくなったレスは初めて見た希ガス。
432:デフォルトの名無しさん
08/01/05 01:06:06
世代間ギャップだろw
433:デフォルトの名無しさん
08/01/05 01:14:29
>>425
この辺を理解して出直してこい
URLリンク(www.catb.org)
434:デフォルトの名無しさん
08/01/05 02:27:02
↑この粘着馬鹿きも
435:デフォルトの名無しさん
08/01/05 08:05:03
お前も十分粘着だよ。
436:デフォルトの名無しさん
08/01/05 10:25:14
ageてる人はわかりやすくて良いな
437:デフォルトの名無しさん
08/01/05 13:13:44
4+3=7
438:デフォルトの名無しさん
08/01/05 17:53:22
新年から運営バイト乙
さくらも必要だからな2ちゃんにはw
車 寅二郎
439:デフォルトの名無しさん
08/01/05 18:17:23
To you cotton I dead no death she.
440:デフォルトの名無しさん
08/01/06 10:13:59
最近気づいたんだけど、速いCPUでCygwinのgcc使ってコンパイルするより、
遅いCPUでLinuxのgcc使ってコンパイルしたほうが速いのね・・・
体感的にはCygwin@X2 3800+ < Linux@CelD 2.4GHz, Cygwin@CelD 2.4GHz < Linux@P3 900MHzくらい
-pipeつけたらちょっとマシになったけど、それでもやっと同じくらい。
やっぱstat(2)とかが効いてるのかね?
441:デフォルトの名無しさん
08/01/06 10:39:27
Windowsはプロセスの起動が遅いうえに
Cygwinでエミュレートまでしてるからかなり遅くなると思うよ
442:デフォルトの名無しさん
08/01/06 11:50:41
cygwinと比較してる時点でバイアス満載。
443:デフォルトの名無しさん
08/01/06 12:14:27
MinGW使え
444:デフォルトの名無しさん
08/01/06 12:29:43
普通は、fgetc()をループで回してもfgets()やfread()を使っても(I/O速度で制限されるので)大差ない時間で処理できるが、
cygwinに限っては、fgetc()版は遥かに遅くなってしまうからね。
445:デフォルトの名無しさん
08/01/06 15:35:36
なんで?
446:デフォルトの名無しさん
08/01/06 18:02:26
エミュレートしているからでしょ。
447:デフォルトの名無しさん
08/01/06 18:26:53
それはfgetcが遅くてfreadが遅くない理由にならなくね?
448:デフォルトの名無しさん
08/01/06 19:02:11
>>447
なんでそう思う?
449:デフォルトの名無しさん
08/01/06 19:13:11
cygwinはファイルの読み書きは特に重いよね。MinGWにすると凄い速くなる。
450:デフォルトの名無しさん
08/01/06 19:35:46
>>447
freadも遅いがエミュレート+ループでfgetcが遥かに遅い理由にならなくね?
451:デフォルトの名無しさん
08/01/06 20:47:21
fread()一回では、エミュレートのオーバーヘッドは1回分であることが期待できる。
多くても、BUFSIZごとに1回だろう。
fgetc()では、毎回の呼び出しごとにオーバーヘッドが発生する懸念がある。
ungetc()のために毎回余計に読み込まなくてはいけないと言う事情がこれに拍車を掛けるだろう。
452:デフォルトの名無しさん
08/01/06 21:18:40
そゆのってオーバーヘッドのかからない層で
バッファリングすると思うんだけど・・・。
453:デフォルトの名無しさん
08/01/06 21:21:49
いや、そうじゃないからこそ、cygwinのエミュレーションは問題だといっている。
454:デフォルトの名無しさん
08/01/06 22:18:45
MinGWのgccやg++は、標準ヘッダの検索パスをどこで決めているんでしょ?
c:\mingwにインストールしたときはbinのpathを通すだけでコンパイルできたソースが、
j:\!repos\softwares\mingwにインストールしたときはbinのpathを通すだけだと、
no include path in which to search for stdio.hとか言われる。
C_INCLUDE_PATHやCPLUS_INCLUDE_PATHを設定すればいいみたいだけど・・・。
455:デフォルトの名無しさん
08/01/06 22:19:31
>>443
MSYSもいっしょに
456:デフォルトの名無しさん
08/01/07 03:31:02
>>451
ソースを読んでどこが悪いとか具体的に確信を持って言ってる?
なんか勘違いしてる気が…
457:デフォルトの名無しさん
08/01/07 05:35:00
そのへんを計測してみた人どこかにいないかな
458:デフォルトの名無しさん
08/01/07 06:23:28
なんかどっかのスレでも書いた気がするけど
俺のVista(HPx64)でMSYSちゃんが上手く動いてくれない
459:デフォルトの名無しさん
08/01/07 10:14:15
XPならHomeでもおk
460:デフォルトの名無しさん
08/01/07 10:27:17
MSYS1.0.10に1.0.11の何か上書きしたらイケましたわ。
461:デフォルトの名無しさん
08/01/07 13:00:45
使いもしないツールを多く含んだメタボ気味なコンパイラ使うより
いいかもね
462:デフォルトの名無しさん
08/01/09 00:20:59
少しスレ違いかもしれませんが質問させてください。
環境は、
MinGW 5.1.3
MSYS 1.0.10
自前のC++ソースをビルドしようとすると、
こんな感じのシンボル未定義のメッセージが並んでリンクエラーになります。
foo.cpp:(.gnu.linkonce.t._ZNK11foo16hogeERKSt6vectorIdSaIdEEj+0x14a) : undefined reference to `_cxa_begin_catch'
nmで見るとlibstdc++.aが必要なようですが、-lでばっちり指定しています。
./libstdc++.a:eh_catch.o:00000000 T ___cxa_begin_catch
./libsupc++.a:eh_catch.o:00000000 T ___cxa_begin_catch
何が原因なんでしょう。。打つ手なしっす。
463:デフォルトの名無しさん
08/01/09 00:33:27
-lの方が先に指定されていたりはしないよね?
464:462
08/01/09 01:08:24
>>463
-lstdc++を一番後ろに置いてます。
not foundが出るわけではないのでライブラリは見つけてるはずなのですが、、
コンパイラのインストールからやり直すべきなのでしょうか?
465:デフォルトの名無しさん
08/01/09 01:13:59
g++コマンドでリンクすりゃ、libstdc++を明示する必要はないはずだが。(勝手にリンカに適切なオプション渡してくれる)
466:デフォルトの名無しさん
08/01/09 01:31:54
>>465
一度g++に切り替えて試したときもlstdc++を付けたままで、まったく同じエラーが出ました。
早速明日外してやってみます。
467:デフォルトの名無しさん
08/01/09 01:52:52
>>462
アンダースコアの数が違うからリンクできるように見えない。
マップファイルとかアセンブリのソースとか確認しないとわかんないね。
468:デフォルトの名無しさん
08/01/09 21:12:22
バージョンが合ってないとか
469:デフォルトの名無しさん
08/01/10 22:14:59
C/C++の開発環境を整備:MinGWとEclipse CDT
URLリンク(builder.japan.zdnet.com)
470:デフォルトの名無しさん
08/01/13 16:32:21
UACが有効なVistaでcygwin使うとき、sudoみたいに管理者権限を動的に(必要なときに)与えるようにしたいんです。
ここで間違えないで欲しいのは、実行したユーザーが属するAdministratorsが保有するACL管理下の権限であって、Administratorの強制執行権限ではありません。
引数をコマンドとして実行するだけのプログラムにマニフェストを組み込んでもcygwinから実行するとNo permissionでキャンセルされます。
runasではadministratorでの実行は可能ですが、条件に合いません。
何かいい方法は無いでしょうか?
471:デフォルトの名無しさん
08/01/13 20:36:11
VisualStudio, gcc, vim, Cygwinで開発しています。
MinGWというのは使ったことがあるのですが、メリットがよく分かりませんでした。
上記の開発ツールに加えてMinGWも使うとしたときのメリットにどんなものがありますか?
472:デフォルトの名無しさん
08/01/13 21:46:31
Cygwinというのは苦肉の策であって、
例えばパス名の区切りがスラッシュになるなど、環境との親和性に問題がある。
VisualStudioはアクチがあり、法外に高額で、
かといってラーニングやスタンダードはライセンスにいろんな制約がある。
ただしカネがあるなら最適化他の面で圧倒的に有利だ。
gccってNTリソースパックのgcc?
NTのPOSIXサブシステム用はOSの汎用性がない。
MingWは完成度さえ高ければ素晴らしいのだがw
ハローワールドで数メガとか恐ろしいことになったりするw
473:デフォルトの名無しさん
08/01/13 22:18:13
>>471
その列挙の意味がよく分かりませんが、VSとcygwin上のgccとvimを併用してると解釈します。
URLリンク(ja.wikipedia.org)
↑cygwinとmingwの比較です。2つは哲学が異なります。
cygwinはmingwに比べwindowsシステムとの互換性が低い(パスとか)のでwindows向けの開発であれば避けた方がいいかもしれません。
しかし、cygwinにmingwが包括されています(詳しい位置づけはよく分かりませんが)。
dllの不要化やWindows APIの利用も可能です。cygwinとmingwを併用する利点はあまり無いと思います。
474:471
08/01/13 22:58:52
>>472
ありがとうございます。
Win32を使ったアプリを作らないせいか、環境とし親和性はあまり意識いたことないです。
やはり、Win32APIを使うと問題になってきますか。
VS Express 2005のフリー版を使っています。
gccはCygwin上のgccです。
>>473
リンクありがとうございます。
> VSとcygwin上のgccとvimを併用してると解釈します。
そうです。わかりにくくてすみません。
> しかし、cygwinにmingwが包括されています
それは初耳です。cygwinを使っていれば、mingwと同じかそれ以上の
ことが出来るということですか。
> cygwinはmingwに比べwindowsシステムとの互換性が低い(パスとか)ので
> windows向けの開発であれば避けた方がいいかもしれません。
windows向けの開発をする予定があるので、今からVSを使って慣れておこうかと思っている次第です。
windows向けであればcygwinよりmingwがいいんですか。
あるいは、windows向けであればビジネス的にはVSが圧倒的シェアかと思いますが、
個人的使用(趣味のプログラミング)であればVisualStudio2008などは高額で敷居が高いですね。
個人向けであれば、mingwが最適なのかなと思って、最近mingwが気になりだした次第です。
475:デフォルトの名無しさん
08/01/13 23:20:30
素直にVS使っとけ。どうせ2008も無償版が出るんだから。
POSIXを意識しないならWindows上でまでgcc使う必要はない。
476:デフォルトの名無しさん
08/01/14 01:43:18
>>472
ハローワールドで数メガとかならねーよw
# あ…Javaで書いてgcjでコンパイルとかしたらなるか
477:デフォルトの名無しさん
08/01/14 02:33:08
デバッグ情報てんこもりとか
478:デフォルトの名無しさん
08/01/14 03:08:49
[Test.java]
public class Test {
public static void main(String[] args) {
System.out.println("Hello, world.");
}
}
> gcj -O2 --main=Test -o test Test.java
> ls -lh test.exe
-rwxr-xr-x 1 hoge none 6.1M Jan 14 03:04 test.exe*
> strip test.exe
> ls -lh test.exe
-rwxr-xr-x 1 hoge none 2.1M Jan 14 03:06 test.exe*
うはwww
479:デフォルトの名無しさん
08/01/14 14:10:45
>>471
VS と MinGW の両方でコンパイルできるコードが割と簡単に書けるところが MinGW のメリット。
MinGW では基本的に Win32 API を使う。
スレッド、WinSock2、DLL のロードなどは Win32 API を利用するので
VS 用と MinGW 用のコードの差分は小さくなることが多い。
コンパイラ依存の部分を #ifdef で分ければ大半のコードを共用できる。
Cygwin は使ったこと無いのでパス。
480:デフォルトの名無しさん
08/01/14 14:43:38
逆に、cygwinだとWinSockを使わないでソケット周りを書けるのが魅力。
要は、Linuxと同じソースでいける可能性が高い。
481:デフォルトの名無しさん
08/01/14 22:47:17
>>474
windows用のソースをwindows用にコンパイルするのがmingw、勿論VSも
linux用のソースをwindows用にコンパイルするのがcygwinのgcc
cygwinでもwindows用のソースをコンパイルする事はできます、そこで使われているのがmingw
このcygwinのmingwが本家と同一なのかどうなのかはよく知りませんが。
gcc --target-help の最初の10行程を見てみてください、参考になるかと思います。
482:デフォルトの名無しさん
08/01/15 04:56:41
一部のファイルをインクルードすると
failure to convert cp932 to UTF-8
というエラーが発生するんですが
これは何が原因なんでしょう?
別のエディタで文字コードをUTF-8にして保存しても直りませんでした
483:デフォルトの名無しさん
08/01/15 05:46:45
改行コードかも
484:デフォルトの名無しさん
08/01/15 06:25:37
>>483
阿呆ですか。
>>482
--input-charsetは?
485:デフォルトの名無しさん
08/01/15 07:23:08
いやまじであるぜ?
改行コード
486:デフォルトの名無しさん
08/01/15 14:22:35
>>482
「一部のファイル」ってのを明確すると話が早かったりするかも。
boostだったりしない?
487:本田
08/01/17 17:40:38
>COMプログラマの解説書
>Crispin Goswell
>Microsoft Office Product Unit
>1995年 春
>1995年9月13日改訂
URLリンク(msdn.microsoft.com)
>抄録
>この解説書は、
>Microsoft(r) OLE Component Object Model(COM)オブジェクトを作成し、
>効果的に使用する方法を説明しています。
>例文はほとんどCで書かれていますので、実際に何が行われているかが、大変分かりやすく示されています。
>プログラマの中には、オブジェクトを実行するためにC++を好んで使用する人もいるでしょう。
>C++プログラマの観点からCOMの概念および基本的な使用法を論じているのは
>Kraig Brockschmidt著のInside OLE (第2版)(MSDN Library(Books))です。
>COMとは何か、またその設計や哲学の後ろにある動機付けをより理解する事に興味がある読者なら、
>Component Object Model Specification(MSDN Library(Specifications))の最初の2章を読んでください。
>第1章には簡単なイントロダクションを、第2章では徹底的に概要を解説してあります。
>この解説書ではInside OLEとCOM Specificationにある情報を、
>COMオブジェクトを実装する良い方法をいくつか示しながら解説するようにしてあります。
488:デフォルトの名無しさん
08/01/17 18:01:35
>>482
input-charset を CP932 として使っていながら、欧州由来のコードで
CP932的に不正なものを含むソースをコンパイルしたんだと思う。
ffmpegの何かのヘッダとか。
489:デフォルトの名無しさん
08/01/20 14:26:15
エクスプローラーを使っているときに
今見ているフォルダでCgywin窓を開きたいのですが
どうしたらいいですか?
490:デフォルトの名無しさん
08/01/20 15:01:59
アドレスバーからコピーして、cdすれば?
491:デフォルトの名無しさん
08/01/20 15:39:29
>>489
cygwin hereでググれ
492:デフォルトの名無しさん
08/01/20 19:41:55
俺はこうしてる
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\WinHandPrompt]
@="Zsh(&C)"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\WinHandPrompt\command]
@="cmd.exe /F:on /K \"cd %L&&zsh\""
493:デフォルトの名無しさん
08/01/21 21:47:51
窓の手の流用か
494:デフォルトの名無しさん
08/01/22 02:51:02
あれ、なんでばれたんだろう?
、と思ったら書いてあったねハッキリと
495:デフォルトの名無しさん
08/01/26 01:51:09
MSYSからgetchとかkbhitを拾うのはどうしたらいい?
コマンドプロンプトではできることが
MSYSでは上手くいかないことが意外に多い
printfは必ずfflushも書かないと表示されないし・・・(TT
496:デフォルトの名無しさん
08/01/26 05:18:27
毎回のようにfflushするくらいならsetvbufに_IOLBFしとけ。
で、getchやkbhitはC/C++にもPOSIXにも準拠していないし、Win32にも無い。
強いて言えば、DOSのデファクトスタンダードだったので残してある、というだけ。
Win32APIを使わないとするなら、
conio.hじゃなくてcursesとかを使うんじゃないの?知らないけど。
497:デフォルトの名無しさん
08/01/26 11:11:00
>>495
>printfは必ずfflushも書かないと表示されないし・・・(TT
リダイレクトする用途を考慮しなくていいなら、printf()ではなくfprintf(stderr, ...)したまえ。
498:デフォルトの名無しさん
08/01/26 15:58:13
いま操作しているPC(ネットワーク上でのコンピュータ名はPC1)のcygwin(以下cygwin1)から
sshでほかのPC(ネットワーク上でのコンピュータ名はPC2)のcygwin(以下cygwin2)にログインして
\\PC1\Shareにアクセスしようとすると"-bash: cd: \\yy-x60s\Share: Permission denied"と言われてしまいます
cygwin2から直接"cd \\\\PC1\\Share"を実行するとこちらは成功します
cygwin2で"setfacl -m user:SYSTEM:rwx \\\\PC1\\Share"を実行して
直後に"getfacl \\\\PC1\\Share"を実行すると
# file: \\PC1\Share
# owner: pc2user
# group: なし
user::rwx
group::r-x
other:r-x
mask:rwx
とでていて設定が反映されてないことが原因なような気がするのですが、どのように設定するばよいか分かりません
499:デフォルトの名無しさん
08/01/26 15:58:46
そういえばstderrはバッファリングされないからflushする必要もないよね
500:デフォルトの名無しさん
08/01/26 16:13:01
でなきゃ困るだろ.そもそも
>printfは必ずfflushも書かないと表示されないし・・・(TT
は,それが当たり前だということを知らずに泣いてるだけの話だろ
501:デフォルトの名無しさん
08/01/26 19:20:24
>>495-496
MSYS では、ってのは rxvt では、ってことだよね。
pdcurses の getch を使うプログラムを書いて試してみたけど rxvt ではダメっぽい。
LINES value must be >= 2 and <= -4096: got 1
initscr(): LINES=1 COLS=1: too small.
とか出てプログラムが異常終了する。
ググってみると lynx や aspell で同じ問題が起こっているみたい。
rxvt では (pd)curses は NG。
502:デフォルトの名無しさん
08/01/30 21:32:07
質問です。非常に初歩的ですみません。
ジョークコマンド sl を、Cygwin や その他 dll 等に依存しない、exeファイ
ル単体で動く形にコンパイルしたいのです。
URLリンク(chaosweb.complex.eng.hokudai.ac.jp)
URLリンク(freethink.way-nifty.com)
これらを参考に、Mingw、GnuWin32 をそれぞれフルインストールしました。
makefile の -lcurses と sl.c の usleep を書き換えました。
また、makefile を
CC=c:/mingw/bin/gcc.exe
と書き換えました。
そこから先が分かりません。
gnuwin32 のコマンドプロンプトから、makeを実行すると、以下のようなエラー
が出ます。
gcc -O -o sl sl.c -lpdcurses -ltermcap
sl.c:30:20: curses.h: No such file or directory
sl.c: In function `my_mvaddstr':
sl.c:42: error: `ERR' undeclared (first use in this function)
sl.c:42: error: (Each undeclared identifier is reported only once
...(略)
ということで質問です。GnuWin32 の termcap と pdcurses を、MinGW から利
用できるようにするには、どのように何を設定したらいいのでしょうか?
503:デフォルトの名無しさん
08/01/30 23:04:14
>>502
gcc の -I オプションで curses.h があるディレクトリを指定
504:502
08/01/30 23:57:09
>>503
ありがとうございます。makefileのCFLAGSを以下のように修正したところ、
CFLAGS=-O -I "/Program Files/gnuwin32/include/"
一歩前進し、今度はこんなエラーが出るようになりました。
c:\mingw\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\..\mingw32\bin\ld.exe:
cannot find -lpdcurses
collect2: ld returned 1 exit status
make: *** [sl] Error 1
今度はどこに何を設定したら良いでしょう?
505:デフォルトの名無しさん
08/01/31 00:01:20
1を聞いて10を知れ、とは言わないがちょっとな・・・
506:502
08/01/31 00:46:02
ごめんなさい、図々しいお願いですね。
gcc の man を見ているのですが、ライブラリの検索パスを追加するオプショ
ンが見つかりません。
また、C:\Program Files\gnuwin32 の下に pdcurses に相当するライブラリが
あるのかと思ったのですが、libpdcurses.a というファイルが見つかりません。
行き詰ってしまいました。
507:デフォルトの名無しさん
08/01/31 00:49:24
-L でしょ?
508:502
08/01/31 01:08:26
うわあ、これは恥ずかしい。申し訳ありません。
日本語manを"ライブラリ"で検索していたので見つかりませんでした。
c:\program files\gnuwin32\lib に pdcurses がなく、curses があったので、
Makefile を元に戻しました。
--- sl.c ----
/* usleep(20000); */
sleep(1);
ここで今、こんなエラーが出ています。
c:\DOCUME~1\ユーザ名\LOCALS~1\Temp/ccGQbaaa.o:sl.c:(.text+0x1a4):
undefined reference to `sleep'
collect2: ld returned 1 exit status
たぶん、正しいヘッダをインクルードすればいいと思うのですが。
509:デフォルトの名無しさん
08/01/31 01:48:36
>>508
> たぶん、正しいヘッダをインクルードすればいいと思うのですが。
そう思うんだったら、includeディレクトリの中でsleep()の宣言を探す
べきでしょ。たぶん無いけど。
510:502
08/01/31 02:01:22
おっしゃるとおりです。見つかりませんでした。
/MinGw/include には何もなく、
/Program Files/gnuwin32/include には
glibc/unistd.h に sleep() がありましたが、includeすると大量のエラー。
winx/timex.h に nanosleep() がありましたが、
undefined reference to `nanosleep' のエラーが出ます。
/cygwin/include でも見つからなかったので、どうも方針がまずいようです。
Cygwin 上だと何もせずにコンパイル、実行できましたので。
今日はいったん中止します。
511:デフォルトの名無しさん
08/01/31 08:33:38
このまま続けると嫌われるよ。
おそらく、初心者板の方が適している質問と思われ。
# -Iや-Lオプションなんて、cc時代から定番のオプションだし。
# CygwinやMinGWの問題か切り分けられて無いし。
512:502
08/01/31 13:11:55
ごめんなさい、では最後に一点だけ。
/* usleep(20000); */
この行をコメントアウトすると、コンパイルは通るようになりました。まあ実
行すると、一瞬で終わってしまうのですが。
ただし、カレントディレクトリに curses2.dll を必要とします。exeファイル
のみで実行できるようにならないでしょうか?
見よう見まねで gcc に -static オプションを付けてみましたが、大量にコン
パイルエラーが出てしまいます。
c:\DOCUME~1\ユーザ名\LOCALS~1\Temp/ccy2baaa.o:sl.c:(.text+0x34):
undefined reference to `_imp__stdscr'
c:\DOCUME~1\ユーザ名\LOCALS~1\Temp/ccy2baaa.o:sl.c:(.text+0x4f):
undefined reference to `imp( *) static'
c:\DOCUME~1\ユーザ名\LOCALS~1\Temp/ccy2baaa.o:sl.c:(.text+0x6b):
undefined reference to `_imp__stdscr'
513:デフォルトの名無しさん
08/01/31 13:17:19
>>512
そのpdcursesにスタティックリンク用のライブラリが添付されてない限
り、キミには無理。
514:502
08/01/31 13:22:08
ありがとうございました。dllは諦めます。
あとはusleep(20000)ですが、これはどこか初心者スレを探して質問します。
515:502
08/01/31 15:17:52
先ほどの者ですが、解決しました。
#include <windows.h>
...
Sleep(20);
Windowsプログラミングに詳しい知人にアドバイスされ、このように修正したと
ころ、見事に動くようになりました。
どうもお騒がせしてすみませんでした。ありがとうございました。
516:デフォルトの名無しさん
08/01/31 15:59:00
最初からそいつに聞け糞が
そいつはそいつで、掲示板で聞けようぜえ
と思ってるだろうがな
517:デフォルトの名無しさん
08/01/31 16:23:57
「mingw sleep」でググるだけで、ヒントがたくさん出てくるんだけどなあ。
518:502
08/01/31 18:53:51
ごめんなさい、訳があって急ぎだったので、無神経な質問をしてしまいました。
ご迷惑をおかけしました。
今度Java質問スレで、超初心者にていねいに答えますので、それで埋め合わせ
にさせてください。
519:デフォルトの名無しさん
08/01/31 20:08:57
人に教えてる暇があったら勉強しろ
520:デフォルトの名無しさん
08/02/01 09:18:44
以上 >502 の日記からお伝えしました
521:デフォルトの名無しさん
08/02/02 07:20:34
Cygwinでcファイルをコンパイルしようとしたところ、
3[main] ? 26824 init cheap: Couldn't reserve 3600336 bytes of space for cygwin's heap, Win32 error 487
というエラーメッセージを4つ吐くのですが、解決策はありますでしょうか?
ググってみて、再インストールもしてみたのですができませんでした…
WinXP Home SP2
RAM DDR SDRAM 512MB
522:521
08/02/02 08:38:29
すみません自己解決しました。
System32にCygwin1.dllがあったのが悪かったようです。
523:デフォルトの名無しさん
08/02/05 19:57:57
guileのinfoにある例(インタプリタを作るだけ)をmingwでコンパイルしたら
sys/select.h
ieeefp.h
が無いと言われてしまいます。
確かに/includeにも/mingw/includeにもそんなファイルはありゃしませんが。
mingwじゃlibguileは使えないのでしょうか?
バージョンは
gcc: 3.4.2
guile: 1.8.2
です。
524:デフォルトの名無しさん
08/02/05 20:08:18
_____ ___
<ー、\\ヾiγ/rニミ
\ヾヘヽヽリ川///γ
>川/ ̄"""" ̄「リ
(ヘir-=o=ッィ=o=j
_ハ| `ー/ ii、i
<\ ヽヽ `ー′/
\ヽ \  ̄ ̄/∩へ Cygwinじゃ駄目なのか?
__ii  ̄/二ノ レ< guileのmakeに必要な環境やライブラリはあるのか?
ヘヘヘ\ヽニ>-イ|( Y/)
ノ// / ヽ_ノ|ヽハ/)
ノ ̄ `ー | |ヒ/
525:デフォルトの名無しさん
08/02/05 20:13:56
>>524
試しにcygwinでやってみたら、gmpを入れてないのでハネられます。
まあ、gmp入れてcygwinでやればいいだけなんだろうけど。
主力環境がmingwなのでmingwでやりたいなと。
526:デフォルトの名無しさん
08/02/05 20:20:56
敗因は2つだ
- >>525 は sys/select.h が何なのかわかってない
- >>525 は mingw がどんな位置づけにあるものかもわかってない
527:デフォルトの名無しさん
08/02/05 20:31:43
guileを使うのにPOSIX環境である必然性があるのかな
528:デフォルトの名無しさん
08/02/05 21:10:01
ないと思うが…
529:デフォルトの名無しさん
08/02/05 23:46:04
では、mingwの位置づけ云々は関係ないような。
select.hを使わないようにconfigureできないものか。
530:デフォルトの名無しさん
08/02/06 00:23:46
>>529
mingwの位置付けが判っていたら当然そういう風に行動するだろ?
ってか guile をビルドの話なのか?
guile をビルドするときなら configure --disable-posix とかあった気がするが…
531:デフォルトの名無しさん
08/02/06 01:24:34
>>530
sourceforgeのmingw用にビルドされたguileをインスコしてlibguileまで一緒に入っているのにselectがないとかもうね、なんなんだと。
532:デフォルトの名無しさん
08/02/06 05:34:13
じゃあきっとそのlibguileは --disable-posix で作られてるんだろ?
533:デフォルトの名無しさん
08/02/06 12:51:39
>>532
guileの意義がわかんねーなら上から目線で語るなよwwww
534:デフォルトの名無しさん
08/02/09 17:33:53
…と、>>533が最上位から申しております。
535:デフォルトの名無しさん
08/02/09 18:04:39
Cygwinでgcovを使いたいのですが、
gccに-mno-cygwinのオプションを付けて実行すると以下のようなエラーが出ます。
test.gcda:Version mismatch - expected 304m got 304c
-mno-cygwinを付けてgcovを使うことはできないのでしょうか?
Cygwinのバージョンは1.5.25-7です。
536:デフォルトの名無しさん
08/02/10 03:15:32
Cygwin v2.573.2.2で開発しています。C++からperlを使おうと思って、とりあえず下のソースを拾ってきました。
#include <EXTERN.h>
#include <perl.h>
static PerlInterpreter *my_perl;
void main ()
{
char *perl[] = { "", "-e", "printf(\"%x\", 3735928559);" };
my_perl = perl_alloc ();
perl_construct (my_perl);
perl_parse (my_perl, NULL, 3, perl, (char **)NULL);
perl_run (my_perl);
perl_destruct (my_perl);
perl_free (my_perl);
}
それを perl_sample.cpp という名前で保存し、
g++ perl_sample.cpp -I/lib/perl5/5.8/cygwin/CORE -L/lib/perl5/5.8/cygwin/CORE
と、コンパイルしようとしました。しかし、
/cygdrive/c/Users/hoge/AppData/Local/Temp/ccwiKLdy.o:perl_sample.cpp:(.text+0x40): undefined reference to `_perl_lloc'
/cygdrive/c/Users/hoge/AppData/Local/Temp/ccwiKLdy.o:perl_sample.cpp:(.text+0x52): undefined reference to `_perl_construct'
/cygdrive/c/Users/hoge/AppData/Local/Temp/ccwiKLdy.o:perl_sample.cpp:(.text+0x7e): undefined reference to `_perl_parse'
/cygdrive/c/Users/hoge/AppData/Local/Temp/ccwiKLdy.o:perl_sample.cpp:(.text+0x8b): undefined reference to `_perl_run'
/cygdrive/c/Users/hoge/AppData/Local/Temp/ccwiKLdy.o:perl_sample.cpp:(.text+0x98): undefined reference to `_perl_destruct'
/cygdrive/c/Users/hoge/AppData/Local/Temp/ccwiKLdy.o:perl_sample.cpp:(.text+0xa5): undefined reference to `_perl_free'
collect2: ld returned 1 exit status
と、エラーをはきます。perl自体はcygwinのインストール時に入れたものです。perlのlibが無いのかと思い、探しましたが見つからず、また、perlの最新版をコンパイルしようとしましたが失敗しました。ちなみにOSはVistaです。
どのようにすればコンパイルできるようになるのでしょうか?
537:デフォルトの名無しさん
08/02/10 05:47:34
>>535
URLリンク(www.cygwin.com)
538:デフォルトの名無しさん
08/02/10 08:22:53
>>536
ライブラリのサーチパスは指定しているけど、ライブラリそのものを指定していないじゃん。
539:デフォルトの名無しさん
08/02/10 09:52:41
>>537
Cygwinで-mno-cygwinを使う代わりに本物のMinGWを使うことで解決できました。
ありがとうございました。
540:デフォルトの名無しさん
08/02/10 13:45:20
>>538
ありがとうございました。無事コンパイルすることができ、実行もできました。
541:デフォルトの名無しさん
08/02/20 01:17:56
ckのソースどっかに落ちとらんかのー
542:デフォルトの名無しさん
08/02/22 00:44:21
どぞ URLリンク(www.ch-werner.de)
543:デフォルトの名無しさん
08/02/22 10:17:09
ん? ck違い!? とりあえずサンクスコ
544:デフォルトの名無しさん
08/02/23 09:23:36
浮動小数点演算を行なうルーチンをコンソールアプリ(main関数)から呼んだときと
Win32 API で書いた GUI アプリから呼んだときとで計算結果が違うという問題に
悩まされています。どなたか解決策をご存じないでしょうか。
問題を再現する、できるだけ小さなプログラムを作りました。
URLリンク(kansai2channeler.hp.infoseek.co.jp)
付属の Makefile は MinGW (GNU make)用です。
test1.exe(コンソールアプリ)と test2.exe(GUI アプリ)をビルドして実行します。
どちらも init.c の initialize() を呼び出します。
initialize() は double 型の配列 x を初期化する関数です。
計算結果を見るために x[5] と x[6] をカレントディレクトリの output.txt に書き出しています。
gcc version 3.4.5 (mingw special) では以下のようになりました。
test1.exe
x[5] = 4.7474747474747475e-001
x[6] = 4.6969696969696967e-001
test2.exe
x[5] = 4.7474747474747475e-001
x[6] = 4.6969696969696972e-001
同じルーチンを呼んでいるのに x[6] の値が異なります。x[5] は一致しています。
比較のために VC++ Toolkit 2003 (nmake.exe) 用の Makefile.vc も入れておきました。
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.10.3077 for 80x86
でコンパイルしたところ2つのプログラムの計算結果が配列 x の全要素について一致しました。
MinGW (gcc) でコンパイルしたときの test2.exe の計算結果と一致しています。
すなわち test1.exe の計算結果がおかしいようです。
どなたか解決策をご存知の方がいらっしゃいましたらご教示下さい。よろしくお願いいたします。
545:デフォルトの名無しさん
08/02/23 09:53:13
面倒だからソースは見ていないけど、どちらかはFPUで計算を行いどちらかはSSEで計算を行なっていると思われる。
コンパイルオプションで強制できるから、必要なら強制すればいい。
但し、doubleの精度を超えた領域の話なのでどちらも間違っているとはいえない。
546:デフォルトの名無しさん
08/02/23 09:55:30
./test1
4.7474747474747475e-001
4.6969696969696967e-001
./test2
4.7474747474747475e-001
4.6969696969696967e-001
gcc version 4.1.2
ごめん、役に立てそうも無いw
とりあえずmap出力してdiff取ってみたらどうか
547:デフォルトの名無しさん
08/02/23 10:01:53
アセンブリ出力を見るだけだろ。常考
548:デフォルトの名無しさん
08/02/23 10:17:20
同じになっちまった。
.gcc version 3.4.5 (mingw special)
/test1
cat output.txt
4.7474747474747475e-001
4.6969696969696967e-001
gcc -o test2.exe -mwindows test2.c init.o
./test2
cat output.txt
4.7474747474747475e-001
4.6969696969696967e-001
gccオプションに--save-temps
しかし、同じ.oファイル使ってるから意味ないか。
fprintf(fp, "%hX\n", x[5]);
fprintf(fp, "%hX\n", x[6]);
これ出力しても結果異なるよね?
まぁ、ollydbgあたりでステップ実行すれば原因はわかるかと思う。
549:デフォルトの名無しさん
08/02/23 10:20:48
そういえば、全然関係ない話だけど
MinGWのprintfで、%hhXとかうまく機能しない原因知ってる人いない?
550:デフォルトの名無しさん
08/02/23 11:00:51
msのcランタイムがc99対応じゃないから
551:デフォルトの名無しさん
08/02/23 11:19:49
msのランタイムって、FPUの精度を固定していないか?
>544はもう一回動かしてもtest1のx[6]は違う値のまま?
552:デフォルトの名無しさん
08/02/23 12:01:31
15桁目まで同じだからdoubleの精度としては問題ない。
553:549
08/02/23 12:03:17
C99以前ではhhxって使えなかったんだ。
知らなかった。
554:デフォルトの名無しさん
08/02/23 12:18:37
x86のFPUは、80ビット精度と64ビット精度が存在する。
SSE2は64ビット精度。
とかそのへんの問題かな?
>>551に一票。
浮動小数点演算の検算で精度気にしすぎると禿げるぞ。
ε使えε
555:デフォルトの名無しさん
08/02/23 12:55:41
テキストで出力すると計算の問題なのか出力関数の問題なのか分からんな。
バイナリで出力(あるいは16進ダンプ)してみて
どうなるかチェックした方がいいと思う。
例えば
fprintf(fp, "%.16e\n", x[5]);
これを
output(fp, x[5]);
にして、output を別翻訳単位で下のように定義してみたらどう?
void output(FILE *fp, double value)
{
union {
double value;
char array[sizeof (double)];
} dc = { value };
int i;
for(i = 0; i < sizeof (double); ++i) {
fprintf(fp, "%02X ", dc.array[i]);
}
fputchar('\n', fp);
}
556:デフォルトの名無しさん
08/02/23 12:56:53
_controlfp あたりでぐぐれ
557:デフォルトの名無しさん
08/02/23 13:05:31
VCとgccのデフォルトのFPU計算精度は異なるらしい
URLリンク(homepage1.nifty.com)
_controlfpでいじると同じ精度にできる
558:デフォルトの名無しさん
08/02/23 13:11:46
おー、それだそれだ、思い出した。
559:544
08/02/25 14:04:07
皆さまコメントありがとうございました。>>556-557の方法で解決いたしました。
使用していた Windows 環境では MinGW でコンパイルしたコンソールアプリは 53 ビット、
MinGW でコンパイルした GUI アプリと VC++ Toolkit 2003 でコンパイルした両アプリは
64 ビットの演算精度を用いていたようです。
別の Windows 環境で試したところ MinGW でも両アプリとも同じ計算結果になりました。
コンソールアプリを MinGW でコンパイルすると演算精度が 53 ビットになる環境がある、
確実を期すなら _controlfp を使え、ということですね。
髪がすこし減ってしまった気がします。本当にありがとうございました。
560:デフォルトの名無しさん
08/02/25 14:29:41
つーか、doubleの精度以上の処を云々すると禿げるよ。
どうせ微小誤差が付き纏うんだから適当な桁で丸めて表示するとかしないと。
561:544
08/02/25 15:57:08
>>560
おっしゃる通りです。
今回の件が気になってしまったのは、シミュレーションコードのデバッグ中だったためです。
実行環境やコンパイラが違ったら気にしないところですが、同じ環境で同じオブジェクトコードに
同じ入力データを与えているにも関わらず計算結果が違うことにとまどってしまいました。
原因はdoubleの範囲を越えた部分の誤差でしたが、この問題を調べるきっかけになった
シミュレーション結果の違いはもっと有意な差だったので看過できませんでした。
育毛にはげみます。
562:554
08/02/25 21:54:36
>>561
> シミュレーション結果の違いはもっと有意な差だったので
俺は予言する
もまいは禿げる。
肝心のアルゴリズム、あるいはテストベクタが草ってんじゃない?
563:デフォルトの名無しさん
08/02/25 22:13:26
>>561
IEEEに準拠するように80bitではなく強制64bitにするオプションがあったはずだが
564:デフォルトの名無しさん
08/02/26 13:18:47
>>563
>556-559
565:デフォルトの名無しさん
08/02/27 14:03:31
そんなあなたを禿増してあげましょう
566:デフォルトの名無しさん
08/03/04 02:29:06
>>541 発見しますた
URLリンク(sohda.net)
567:デフォルトの名無しさん
08/03/07 09:16:50
OS再インスコしてdevcpp+SDLで以前のソースコンパイルしたらWinMain@16なエラーが('A`)
int main(ryから始めてるし-mwindowsも付けてるのに
cygwinでもインスコすれば変わるかなあ
568:デフォルトの名無しさん
08/03/07 10:14:40
-lSDLmain付け忘れ&-l順番ミスでしたサーセン
SDL外したらコンパイル通って、sdl-config見てやっと思い出した
569:デフォルトの名無しさん
08/03/24 17:59:52
相談じゃなくて雑談になるんだけど
g++4.3.0をビルドしてみたんだけど、g++のbinが460,475ってでかくね?
cygwinのインストーラからのg++3.4.4は96,789、verうpとかモジュール化とか考えてもねぇ。
とか思いながら動作テストで↓コンパイルしたら、2,339,843、メガってどうなの。(ちなみに3.4.4でも477,682、g++4.3.0binよりでけぇ
#include <iostream>
int main(){return0;}
これって一体何がバイナリに組み込まれてるのか気になるんだけど、分かる人教えてー、誘導だけでもいいから。
ちなみに#include<iostream>だけ消したら3.4.4が7,673、4.3.0が10,915と小さくなった。(勿論gccじゃなくてg++で
570:デフォルトの名無しさん
08/03/24 18:09:00
stripしろよ
ライブラリのdebug infoもな
571:デフォルトの名無しさん
08/03/24 18:30:48
なるほど、どうもー。
572:デフォルトの名無しさん
08/03/25 07:07:47
g++ 普通にビルドできるのか?
それならなんで Cygwin のパッケージは 3.4 のままいっこうに動かないんだろう。
573:デフォルトの名無しさん
08/03/25 13:33:08
そのうち、stripしてもまだサイズがでかいがどうしてだ? といった
ググれば5秒で分かるFAQを聞きに戻ってきそうだ
574:デフォルトの名無しさん
08/03/25 14:25:42
嫌味だけは一丁前でな
575:デフォルトの名無しさん
08/03/25 17:16:47
>>572
できたよー
そういや俺も昔クロスコンパイラ作ろうとしたけどビルド出来なかった覚えがあるな
そんときは原因分からず仕舞いやったけど
cygwinのパッケージはlinuxでビルドされてるらしいから3.4で動かない原因は別なんじゃない?
576:デフォルトの名無しさん
08/03/29 06:08:53
Windows XP SP2 上で Cygwin gcc 3.4.4 の MinGW モードで開発してるんですが、
システムメニューの項目を EnableMenuItem() を使ってグレーアウトさせようとしてもできません。
具体的には、ウィンドウプロシージャで WM_CREATE を受け取ったとき
EnableMenuItem(GetSystemMenu(hWnd, FALSE), SC_MOVE, MF_GRAYED);
としても、システムメニューの「移動」がグレーアウトせず、有効なままになってしまいます(実際にウィンドウ移動もできる)。
MF_GRAYED を MF_DISABLED にしても同様で、システムメニューからウィンドウ移動ができてしまいます。
DeleteMenu(GetSystemMenu(hWnd, FALSE), SC_MOVE, MF_BYCOMMAND);
ならば正常に機能し、項目が削除されるんですが…。
似たような環境で EnableMenuItem() によるシステムメニュー項目のグレーアウトができている方がいれば
方法など教えていただけないでしょうか?