1 名前:デフォルトの名無しさん [2007/04/30(月) 23:52:47 ] Windows上で動作するフリーの開発環境 CygwinとMinGWに関する相談スレッドです。 過去スレ: 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について part7 pc11.2ch.net/test/read.cgi/tech/1145357824/ 【激遅】AppleGCC【絶望】 pc11.2ch.net/test/read.cgi/tech/1173267844/
331 名前:デフォルトの名無しさん mailto:sage [2007/12/14(金) 00:48:57 ] realpathでいいじゃん
332 名前:328 mailto:sage [2007/12/14(金) 01:38:32 ] >>331 おおおお まさしくこれです ありがとうございます
333 名前:デフォルトの名無しさん mailto:sage [2007/12/14(金) 17:12:16 ] これでx−window動かしたいんですけど 手順教えてください。
334 名前:デフォルトの名無しさん mailto:sage [2007/12/14(金) 17:18:36 ] 板違いになるから Windows板のCygwinスレか pc11.2ch.net/test/read.cgi/win/1175419995/l50 Unix板のCygwinスレでやってくれ pc11.2ch.net/test/read.cgi/unix/1184677144/l50
335 名前:デフォルトの名無しさん mailto:sage [2007/12/14(金) 17:36:12 ] すみませんでした
336 名前:デフォルトの名無しさん [2007/12/18(火) 13:44:38 ] www.mingw.org/MinGWiki/index.php/mingw%20hosted%20cross%20compiler を参考にしてクロスコンパイラを生成しようとしていますが、問題が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 名前:デフォルトの名無しさん [2007/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を sourceforge.net/project/showfiles.php?group_id=2435 からダウンロードしてインストールしても変わりませんでした。どうかよろしくお願いします。
338 名前:デフォルトの名無しさん mailto:sage [2007/12/18(火) 15:25:46 ] sourceforge.net/project/showfiles.php?group_id=114505&package_id=124206&release_id=434286 DS用のビルドスクリプトだけど 多分、いや確実に参考に出来る
339 名前:sage [2007/12/18(火) 16:43:26 ] >>328 さん、ありがとうございます。早速試してみたいと思います。
340 名前:sage [2007/12/18(火) 16:43:54 ] >>338 さんでした。。。
341 名前:337 [2007/12/19(水) 11:41:12 ] >>338 さんから教えていただいたシェルスクリプトで、c compilerのインストールまでは 完了したのですが、newlibのmakeで>>337 と同じくエラーになってしまいました。 newlibをMinGW(WinXP)のmakeの方法を知ってらっしゃる方、よろしくお願いします。
342 名前:デフォルトの名無しさん [2007/12/19(水) 17:18:00 ] dllからのC++例外をexe側で捕捉できないでしかもhangupするのは仕様ですか? dllとexeはともにcygwinのg++で作ったものです ちなみに例外のthrowとcatchがexeで完結してるならちゃんと捕捉できます
343 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 22:46:12 ] >342 これが Cygwin にも適用されるかどうかはわからないけど ttp://gcc.gnu.org/faq.html#dso
344 名前:デフォルトの名無しさん [2007/12/22(土) 10:35:01 ] MinGW使ったんだけどsys/ioctl.hとかのヘッダーがないけど、 これってMinGWがまだ不完全だからってこと? それともどっかに落ちてるのを適当に拾って入れればいいの?
345 名前:デフォルトの名無しさん mailto:sage [2007/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 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 20:06:51 ] つまり、ioctl使いたかったらcygwin使っとけってこと。
347 名前:デフォルトの名無しさん [2007/12/24(月) 11:04:13 ] sourceforge.net/project/showfiles.php?group_id=2435 SourceForgeのMinGWダウンロードのところのソースファイルをダウンロードして自分でmake installしようとしたんだけど、 makeで必ず失敗する。 WinXPでMinGW環境だとだめってこと? なんでMinGWのダウンロードのところにあるのにmakeができないの?俺だけ? i386用のバイナリがあるからそれ使えっていうのもわかるけど、 ちょっとバージョンの新しいのを入れたいからmakeしようとしたら全然だめ。 確認のため、今すでにMinGW版としてあるやつのソースもmakeしたら全然だめ。具体的にはTexInfoね。 これどうゆうこと?
348 名前:デフォルトの名無しさん mailto:sage [2007/12/24(月) 11:31:14 ] エラーメッセージが理解できるようになってから来てください
349 名前:デフォルトの名無しさん [2007/12/24(月) 11:51:51 ] エラーメッセージくらいわかってるよ。 でもMinGWにはないヘッダーとか使ってるソースがMinGWにあるんだぜ? しかもバイナリ形式もあるんだぜ? おかしくない? それとも俺が何か入れ忘れてるの?
350 名前:デフォルトの名無しさん mailto:sage [2007/12/24(月) 11:58:02 ] 入れ忘れてんじゃネーの? makeに必要な環境がなかったらmakeは通らんだろ。
351 名前:デフォルトの名無しさん mailto:sage [2007/12/24(月) 12:25:24 ] > でもMinGWにはないヘッダーとか使ってるソースがMinGWにあるんだぜ? なにも不自然な点は見受けられないんだが
352 名前:デフォルトの名無しさん mailto:sage [2007/12/24(月) 12:58:36 ] 「環境を構築するための資源」と、「環境を利用するための資源」は違うんだぜ。
353 名前:デフォルトの名無しさん [2007/12/24(月) 13:07:03 ] それってどっかからライブラリなりヘッダーなりを調達する必要があるときはあるってこと? それってMinGW用とかじゃなくて適当なところから持ってきて適当に追加すんの? 具体例とかあるとわかりやすくてうれしいんだが。
354 名前:デフォルトの名無しさん mailto:sage [2007/12/24(月) 14:34:58 ] 適当ってなんだよ適当って。 MinGW側でパッチが必要なものはMinGW側に置いてあるだろうし、 置いてないものはGNUサイトとかミラーからでも拾って来ればいいだろう常識的に考えて。
355 名前:デフォルトの名無しさん mailto:sage [2007/12/24(月) 14:52:57 ] README.devとINSTALL.genericは読んだのか? configureはちゃんと通ってるのか? 根本的に、スキルが足りないんじゃないのか?
356 名前:デフォルトの名無しさん [2007/12/24(月) 15:13:53 ] すまん。もしかしてmsysDVLPRを入れてなかったからなのか? とりあえずやってみるが、うまくいかなかったらフォローしてくれ。
357 名前:デフォルトの名無しさん [2007/12/24(月) 17:24:42 ] www.mingw.org/MinGWiki/index.php/MSYSBuildEnvironment とか読んでみたんだが、よくわからん。 とりあえずmsys直下にmsysDVLPRを解凍していれてやればいいみたいなんだが。 このmsysDVLPRもgcc-libの中にexeがあったりして、これでいいのかとよくわかんない。 それと.profileを編集するようなんだが、これもよくわからん。 くれくれ君ですまないが、誰か知ってる人正しいmsysDVLPRの入れ方とかmsysBuild環境の作り方教えテルミー。
358 名前:デフォルトの名無しさん [2007/12/24(月) 17:26:34 ] それと適当に入れてbashのmakeをINSTALL.MSYSにならってしてみたんだが、cc1.exeが-fnative-structというオプションがわからんとか言ってエラーになった。 やっぱり環境構築がおかしいんだろうか。詳しい人たのむ。
359 名前:デフォルトの名無しさん mailto:sage [2007/12/24(月) 19:17:58 ] あのさ、一々アゲて「俺、ソースmake初挑戦日記」書くの止めてくんないかな。 そういうのは、mixiでやってくれ。冬休みに入ったのはわかったから。
360 名前:デフォルトの名無しさん mailto:sage [2007/12/25(火) 11:09:03 ] >>347 TexInfoのロケールの問題で引っかかってるんじゃない? 以前俺がBuildしたときは、それでエラーになってた。 そんときは LC_ALL=C でBuildしたら通った。
361 名前:デフォルトの名無しさん [2007/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 名前:デフォルトの名無しさん mailto:sage [2007/12/25(火) 12:52:23 ] >>361 基本的にはMSYSとmsysDTK入れただけだな。 あとは msys用bisonとflex入れた程度 mingwはlibiconv入れた
363 名前:デフォルトの名無しさん [2007/12/25(火) 13:06:24 ] >>362 環境はWinXP? 俺はMinGW Download pageにあるTexInfo4.11すらビルド失敗。
364 名前:デフォルトの名無しさん [2007/12/25(火) 14:48:20 ] mingwのgccのmingw-local patchesって何処にあるの?
365 名前:デフォルトの名無しさん mailto:sage [2007/12/25(火) 15:40:08 ] >>363 うん。 WinXP TexInfoのBuildは、いろいろ入れないとできなかった気がするんで、 うちはバイナリをダウンロードしてきて入れた。 TexInfo入れずに configureしてBuildできなかったっけ? このTexInfo関係はドキュメント作成するのに必要なだけなんでスキップしても 問題ないんだけどね。
366 名前:デフォルトの名無しさん [2007/12/25(火) 16:04:10 ] >>365 うん。俺もドキュメントだから関係ないと思ったけど、 やっぱりみんなが(外人とか)当たり前にビルドしてるのに できないのが、なんか納得いかなくてな。 それにTexInfoのバージョンあげないと、他のツールをビルドするときにMakefileとかを 強制的に書き換えないといけないのが、なんか嫌だったんだ。 とりあえず今はbashのMinGW Download pageにおいてあるやつをビルドしようと思ってるんだが、 INSTALL.MSYSとか読むと www.mingw.org/MinGWiki/index.php/MSYSBuildEnvironment が必要らしんだな。でも英語得意じゃないからそれっぽくやってみてもうまくいかないし。 正直もうお手上げ状態だ。英語をちゃんと理解できればいいんだがな。愚痴っぽくなってすまん。
367 名前:デフォルトの名無しさん mailto:sage [2007/12/25(火) 16:21:08 ] mingwにあるtexinfo-4.11は adaのgnat_ugn__unw.texiでエラーでるんでtexinfo-4.8使ってるんだが これは正常なの?
368 名前:デフォルトの名無しさん [2007/12/26(水) 14:17:32 ] 誰か頼むからWinXPでMinGW5.13とMSYS1.0.10とmsysDTK-1.0.1入れてbash3.1のソースとか をビルドできるか試してくれ。 俺はできないと思う。 msysDVLPRも入れてみたがだめだった。えろい人たのむ。
369 名前:デフォルトの名無しさん mailto:sage [2007/12/26(水) 14:41:02 ] とりあえずあきらめて悟りを開くかCygwinに乗り換えるかしれ。 立てよ国民!gcc -mno-cygwin!!
370 名前:デフォルトの名無しさん mailto:sage [2007/12/26(水) 14:59:08 ] いや俺はあきらめたくない。 mingw-usersとかのメーリングリスト見てるとみんな当たり前にやってんだぜ。 英語が苦手なだけでMinGWを利用できないなんて悔しくてやだ。 でも解決策はわからん。
371 名前:デフォルトの名無しさん mailto:sage [2007/12/26(水) 15:16:57 ] どこの中二病患者?
372 名前:デフォルトの名無しさん mailto:sage [2007/12/26(水) 15:27:33 ] 英語もダメ。スキルもない。出来ないと暴れる。最悪だな。
373 名前:デフォルトの名無しさん mailto:sage [2007/12/26(水) 15:38:52 ] >>370 そろそろウザイって言われてることにさっさと気づけよ、邪魔なんだよ。
374 名前:デフォルトの名無しさん mailto:sage [2007/12/26(水) 15:54:43 ] お前らだってできねーんだろ?
375 名前:デフォルトの名無しさん mailto:sage [2007/12/26(水) 15:55:15 ] 煽っても無駄なのにね
376 名前:デフォルトの名無しさん mailto:sage [2007/12/26(水) 16:02:33 ] >>368 なんでUNIX系シェルとか依存性の強い物をBuildしようとするかな・・・ たぶんMingw用のglibcヘッダとかライブラリが必要だと思うよ。 たしかどっかにあったはず。 あと binutilとかバグがあるバージョンもあるから、そのあたりも変えてみたら。 binutilは上記のものとかなくてもbuildできるはず。
377 名前:デフォルトの名無しさん mailto:sage [2007/12/26(水) 17:04:33 ] ごめんな。感情的になってしまった。 確かに俺は頭悪いが、>>368 みたいに親切なやつもいるから またがんばるよ。
378 名前:デフォルトの名無しさん mailto:sage [2007/12/26(水) 17:33:01 ] いみふめい
379 名前:デフォルトの名無しさん mailto:sage [2007/12/26(水) 17:47:15 ] >>368 暇だからビルドしてみた。 msysDVLPRとbisonとflexを追加。 www.mingw.org/MinGWiki/index.php/bug-termios_h このバグでちょっとハマった。 おしまい。
380 名前:デフォルトの名無しさん mailto:sage [2007/12/26(水) 17:51:13 ] っていうかここに全部書いてあった。 www.mingw.org/MinGWiki/index.php/Build%20bash このページすら読めないようならまず英語の勉強した方がいい。
381 名前:デフォルトの名無しさん mailto:sage [2007/12/26(水) 18:10:50 ] おお、みんなありがd。 >>379 俺もこれはやった。msys/includeじゃなくてmsys/lib/gcc-lib/...の方をこれで直して少し進んだんだが、 そのあとやっぱり失敗した。 >>380 俺もそれは読んだよ。gnuwin32のflexとbisonいれてtermiosも>>379 のように修正。 だがだめだった。 www.mingw.org/MinGWiki/index.php/MSYSBuildEnvironment ここがちゃんと理解できてないからなのかだめだ。 >>376 glibcのmingwバージョン探してるが、みつからない。
382 名前:デフォルトの名無しさん mailto:sage [2007/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 名前:デフォルトの名無しさん mailto:sage [2007/12/26(水) 19:05:38 ] はっきり言ってチョーウザイ。 日記はmixiでやれって言ってんの。 おまいには無理、それでいいだろ。
384 名前:デフォルトの名無しさん mailto:sage [2007/12/27(木) 09:57:36 ] >>382 念のために書いておくけど、ちゃんと ./configure してからmakeしてるよな? まぁ基本的なことだから大丈夫だとは思うが。 それから msysDVLPRを MinGW5.13の上に上書きするのはちとマズいかもな。 msysDVLPRにも gcc及びライブラリが入ってるから。
385 名前:デフォルトの名無しさん mailto:sage [2007/12/27(木) 10:16:22 ] もちコース。./configure、make、make installぐらいは知ってるぜ。 msysDVLPRはmsysの方に入れてるんだがこれって間違い? MinGWiki読むとmsysの方に解凍してるみたいだが。
386 名前:デフォルトの名無しさん mailto:sage [2007/12/27(木) 10:18:12 ] でもbashのビルドはINSTALL.MSYSにしたがって、一応msysrlsbldっていうスクリプトやってるけどな。 中身は結局configure、makeみたいな感じだ。
387 名前:デフォルトの名無しさん [2007/12/28(金) 23:45:45 ] Mingwでソケットを使おうとしたら使えない! インクルードファイルがみあたらないのですがなんででしょう・・・。
388 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 01:14:53 ] MinGWなんだからwinsock使えよ…
389 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 02:43:17 ] 基本的過ぎる質問だと思うのですが 検索してもわからなかったので書き込ませて頂きます cygwinのgccを使ってC,やC++の開発を行うときのライブラリは やはりcygwinのそれっぽいのをとってくるんでしょうか? それとも別のIDEからライブラリ部分を持ってきたりするんでしょうか? windows.h 関係が欲しいのですが 通常はどこで手に入れるものなんでしょう?
390 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 02:53:46 ] w32api
391 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 08:17:47 ] >>390 ありがとうございます。適当に必要なものとどこからでも良いので とってくればOKなんでしょうか? とりあえずcppunitとw32api(3.9-1)をcygwinのsetup.exeからインストールしたんですが cygwin\lib\w32api 配下に windows.h が存在せず どこから手に入れればよいのか困っています 「普通はここから持ってくる」そんな場所はありますか?
392 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 08:27:55 ] どんなオプションを選んだかなんて覚えていないけど、 特に何もしなくても<windows.h>をインクルードできるし、 特にライブラリ指定しなくてもWin32 API使えている。
393 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 10:50:40 ] $ find /usr/include -name windows.h /usr/include/w32api/windows.h
394 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 11:05:03 ] >>391 はなんでヘッダファイルをlib配下でのみ探したのだろう
395 名前:389 mailto:sage [2007/12/30(日) 17:38:53 ] >>392 何が違うんでしょうか…? 俺にはさっぱりです >>393-394 それは>>389 がアホだからに他ならないわけで…。 …ありがとうございました わからなかったのでPSDK入れようとしてました。 結局こんな感じでコンパイルしたら動きました g++ test.cpp -I/usr/include -I/usr/include/mingw -v includeされているパスが色々出てきて それらがどこで設定されてるのかがイマイチわかっていませんが おいおい調べていくことにします
396 名前:デフォルトの名無しさん mailto:sage [2007/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 mailto:sage [2007/12/30(日) 19:07:24 ] >>396 なるほど解説ありがとうございます。 初めに /usr/include だけを使った所 windows.h が読み込めて その後に #include <tchar.h> する必要があったので /usr/include/mingw を読み込んでました。 /usr/include/mingw のみ -I すればコンパイルできました。 -mno-cygwin をつけるだけでもOKなのも確認しました。 クロスコンパイルやらなんやらの問題みたいですね。 とりあえず色々眺めてみることにします
398 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 20:04:19 ] >397 POSIX API を使うつもりがなくいなら -mno-cygwin を付けた方が cygwin1.dll をリンクしないでいい分ライセンスとかいろいろ楽。 作りたいアプリケーションに応じて選んでくれ。
399 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 20:20:31 ] POSIX APIを使わないつもりがなくいときはどうしたらいいでしょう。
400 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 20:43:54 ] gccでデバッグオプション(-g -O0)を付けてコンパイルしたいのですが、 いったいどうやればいいのでしょうか? いまのところはMakefile.amのINCLUDE変数に'-g -O0'を追加しているのですが、 明らかにおかしいので正しいやりかたを教えていただきたいのです。 環境はubuntu + gcc + autotoolsです。 (Linux板も探したのですが、適当なスレが見つけられなかったため こちらに質問させていただきます)
401 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 21:02:09 ] 大抵のMakefileなら、CFLAGS辺りに書けばよさそうだが。
402 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 21:35:22 ] autotool なら環境変数から引っ張ってきてるよね CFLAGS="$CFLAGS -g -O0" ./configure 俺はこうして使ってるけど
403 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 21:35:26 ] >>400 この場合 Autoconf/Automake/Libtool スレあたりが適切かな…?
404 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 21:49:40 ] >>401 そうですよね >>402 CFLAGS="$CFLAGS -g -O0" ./configure のやりかたでできました。 ありがとうございました。 >>403 すいません。次から気を付けたいと思います。
405 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 02:00:32 ] よくあるのは configure に --enable-debug 付けると デバッグオプションが付くように作ってあるとかかなぁ
406 名前:デフォルトの名無しさん mailto:sage [2008/01/01(火) 20:05:29 ] wxWidgetsをリンクするために 'wx-config --cppflags'の出力されたものを 作成ファイルのMakefile.am内オプションに追加したいのですが いったいどうやればいいのですか? 何度か同じことをする必要があるので 共通の変数か何かに設定できるとうれしいのですが。 (他のスレでも聞いたのですが、全く反応が無いのでマルポしています)
407 名前:デフォルトの名無しさん mailto:sage [2008/01/01(火) 20:42:20 ] >>406 wc-config の出力結果を Makefile.am に書いたら意味ないだろw configure.in を書いて configure 実行時に wc-config を実行してその結果 がMakefileの変数CXXFLAGSやLIBSに展開されるようにしてやればいいんじゃね? あと autotools の使い方を基本から勉強しなおしてくれ。 そもそも autotoolize する必要があるのかってところから見直すといいかもしれん。
408 名前:407 mailto:sage [2008/01/01(火) 20:43:27 ] wc-configってなんだ… wx-config ね
409 名前:デフォルトの名無しさん mailto:sage [2008/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 名前:デフォルトの名無しさん mailto:sage [2008/01/02(水) 01:29:31 ] 他のスレでもって、wxスレでもautoconfスレでも見かけなかったなぁ まぁ別にどこでもいいんだけど
411 名前:デフォルトの名無しさん mailto:sage [2008/01/02(水) 09:11:52 ] 探したら pc11.2ch.net/test/read.cgi/tech/1148393695/ にいた… >>409 基本的に広い範囲で移植性を確保しようと思ったら大変なのはどのツール使っても同じなの はその通りなんだけど、どの程度の移植性が欲しいのかってところかな? autotools使うなら本でも読んでじっくり取り組んでくれ。 - www.amazon.co.jp/Autoconf-Automake-Libtool-Gary-Vaughan/dp/4274064115/ あまり出来のいい本でもないけど…
412 名前:デフォルトの名無しさん mailto:sage [2008/01/02(水) 09:30:35 ] >>411 基本的には Windows(cygwin), Linux, FreeBSD, Mac あたりで使えれば嬉しいのですが。 あまりマイナーな環境に対応するのは大変ですしね。 いい環境が見つかるまでは、マニュアルと本でがんばりたいと思います。
413 名前:デフォルトの名無しさん mailto:sage [2008/01/02(水) 10:20:29 ] WXCXXFLAGS="`wx-config --cppflags`" ・・・ではないのかな 試してないけど 俺なら AC_PATH_PROG で wx-config あるかチェックするかな
414 名前:デフォルトの名無しさん mailto:sage [2008/01/02(水) 15:12:07 ] >>413 ありがとうございます。ただ、それでもダメでした。 (>>409 のWXCXXFLAGSはWXCPPFLAGSの間違いでした。すみません) Makefile.inを見ると変数自体はちゃんと出力されているのですが その中身がどうも空のようです。 Makefile.amではどちらか分からないので 一応@WXCPPFLAGS@と$(WXCPPFLAGS)の両方の形式で出力させています。
415 名前:414 mailto:sage [2008/01/02(水) 16:27:37 ] テストプログラムを作成しました。 原因の分かる方いましたら、是非教えてください。 www.uploda.org/uporg1184897.tar.html
416 名前:デフォルトの名無しさん mailto:sage [2008/01/02(水) 17:00:06 ] >>415 configure.ac の中身 WXCPPFLAGS=`wx-config --cppflags` - 変数と'='の間にスペースは入れない - 展開はバッククォート 普段UNIXライクOS使ってないならアレだがシェルスクリプトの基本を勉強する必要があるかも
417 名前:デフォルトの名無しさん mailto:sage [2008/01/02(水) 17:02:34 ] >>415 そうそう Makefile.am の方は @WXCPPFLAGS@ でよくて $(WXCPPFLAGS) はいらない
418 名前:デフォルトの名無しさん mailto:sage [2008/01/02(水) 22:37:44 ] >>416-417 できました! やっとコンパイルに取りかかれそうです。 ありがとうございました。
419 名前:デフォルトの名無しさん [2008/01/04(金) 07:52:12 ] >>418 Net BeansIDE V6 R3を実装し、C/C++コンポーネントのアドイン指定をし、 Cygwin言語処系gmake,g++,gcc等をインストールし、 Net BeansIDEを起動 することにより、自動でビルド環境が出来るじゃん。 まあ、autoconf automake の勉強するつもりならこんなやり方は為にならんが。 まあ、学生さんだったら時間あって勉強がてらハンドでやるのも良いんだろうけどw よく考えたら、正月だったのか。じゃあ時間作れそうだな。
420 名前:419 [2008/01/04(金) 07:58:25 ] こっちの方が正確だったな ja.netbeans.org/ Net BeansIDE V6 R3→表記ミス 組込系なら制約が有るかもしれんな。 ま、その辺り臨機応変にな。 人間がやるより早いぞ。
421 名前:デフォルトの名無しさん mailto:sage [2008/01/04(金) 09:54:43 ] >>419 本人はVC使ってて他の環境(LinuxやFreeBSD)で容易にコンパイルできるように autotoolize してるって書いてあるだろ… そこで Cygwin + NetBeans 勧めても…
422 名前:デフォルトの名無しさん [2008/01/04(金) 21:04:54 ] >>421 奨めないとPGままだろ? ソフトウェア開発技術者とPGは違うぞ。 コンポーネントプログラミングの妙技も味わって貰わないとなw
423 名前:デフォルトの名無しさん [2008/01/04(金) 21:21:17 ] >>421 autotoolizeって何? スペルミスするくらいならオーソライズって書けよw
424 名前:デフォルトの名無しさん mailto:sage [2008/01/04(金) 21:25:18 ] >>423 autoconf/automake 使って ./configure && make all && make install って, やればインストール出来るようになってる という意味ではないのか?
425 名前:デフォルトの名無しさん [2008/01/04(金) 21:45:50 ] >>424 個人の造語を空想で断定しては恥かくだろう? 俺はレスの文脈からオーソライズと認識したまで。 何ならそのスペルで英和辞典なりコンピュータ用語事典を 探して見たら良い。 一生掛かっても見っからないことは断言できる。 ま、そんなチンケな話で揉めても仕方ないのでここで ペンを置く。
426 名前:デフォルトの名無しさん mailto:sage [2008/01/04(金) 22:07:03 ] うるせーよググれカス
427 名前:デフォルトの名無しさん mailto:sage [2008/01/04(金) 22:08:42 ] >>425 レスの文脈からautotool-izeとしか認識できなかったがな。 オーソライズってのはauthorizeのことか?だとしても意味が通らんな もっと文脈読まないと恥かくぞ?
428 名前:デフォルトの名無しさん mailto:sage [2008/01/04(金) 22:11:01 ] >>417 その情報は古い。 Makefile.amでは、$(WXCPPFLAGS)と書くのが今風です。 Makefile.inでよきに計らってくれるので。 そうすると、$ make WXCPPFLAGS="-I/anotherdir/include" なんかが使えます。
429 名前:デフォルトの名無しさん [2008/01/04(金) 22:13:26 ] >>427 ふふ、暇なオジンやな? 本件にレスして道ズレにしようちゅう魂胆かなw まあ、おまえが口べただと言うことは良く解った。ググった上でのレスだw>>426
430 名前:デフォルトの名無しさん mailto:sage [2008/01/04(金) 22:22:17 ] 冬休み学生のへたくそな煽りにわざわざ釣られるなよ…
431 名前:デフォルトの名無しさん mailto:sage [2008/01/04(金) 23:13:08 ] >>423 これほど「プギャー(AAry」を貼りたくなったレスは初めて見た希ガス。