2011年10月1期プログラム【統合開発環境】Code::Blocks【オープンソース】
TOP カテ一覧 スレ一覧 削除依頼 ▼
・ 次のスレ
cとc++どっちがいいの? 東のエデンのようなプログラムを作るには 3Dゲーム用マップ作製ツール提供 普通高校で考えてプログラミングしろと言われた
【統合開発環境】Code::Blocks【オープンソース】
1 :09/07/17 〜 最終レス :11/09/18 フリー/オープンソース、マルチプラットフォームの統合開発環境 各種Cコンパイラ、Dコンパイラ、Qt、Gtk+、OpenGL、DirectX、Win32対応 本家 http://www.codeblocks.org/ 日本語化 http://sourceforge.jp/projects/foo-doc-jp/wiki/CodeBlocks Wikipedia http://ja.wikipedia.org/wiki/Code::Blocks
2 : このスレッドは天才pンジー「アイちゃん」が 言語訓練のために立てたものです。 アイと研究員とのやり取りに利用するスレッドなので、 関係者以外は書きこまないで下さい。 京都大学霊長類研究所
3 : 前にも需要なくて落ちてたよなww
4 : 前の時は>>1 が痛かったからな
5 : Eclipseが良すぎるの
6 : 対応ライブラリ Qt http://www.qtsoftware.com/downloads GTK+ http://www.gtk.org/download.html SDL http://www.libsdl.org/download-1.2.php
7 : >>1 乙 立てようかと思ってたけど誰か立ててくれたのか。 わしは今使ってるのだけどほかに使ってる人っているのかな? >>5 そんなことはない。Eclipseがまともに動かない環境だとかなり重宝する。 >>6 肝心のwxWidgets入れ忘れてる。 wxWidgets http://www.wxwidgets.org
8 : >>2 なんでもかんでもアイちゃん貼ればいいってもんじゃないぞ
9 : なんだか今にも落ちそうだな…
10 : 設定がどこに保存されてるのかわかんね 再インスコしても色々設定が初期化されない
11 : >>10 レジストリにあるんじゃないの?
12 : ここまで人がいないスレも珍しいな。 はやく次の安定版でないかなー。
13 : 明日、明後日には落ちるな
14 : 使ってる人いないのか…
15 : ネタもないので、Code::Blocksを使ったwxWidgetsのプロジェクトの構築法でも書いてみる。 1)Code::Blocksの最新版を本家から入手してくる。 2)wxWidgetsのホームページ(ttp://www.wxwidgets.org) で最新版のソースを落としてくる。 3)まずwxWidgetsのソースをビルド。(必ずプロジェクトを作る前にビルドすること)ビルド方法はwxWidgets-<バージョン番号>\docs\msw\install.txtを参照。 4)ビルドが終わったらFile->New->Project...をクリック。New from templateというダイアログが出るのでwxWidgets projectを選択。 5)最後の一つ前にコンパイラを選択させらるが、このときは必ずwxWidgetsをビルドしたコンパイラを選択すること。 6)うまくいけばプロジェクトの構築成功。お疲れ様。 細かいとこは誰か書き足しといて
16 : あったので貼っとく http://www12.atwiki.jp/youdead/pages/54.html
17 : >>15 解説サンクス。早速以下のようなバッチファイを作ってメイクしたらうまくいった。 俺のボロノートPCだと半日掛かったけどw cd c:\wxWidgets-2.8.10\build\msw mingw32-make -f makefile.gcc SHARED=0 BUILD=debug UNICODE=0 mingw32-make -f makefile.gcc SHARED=0 BUILD=debug UNICODE=1 mingw32-make -f makefile.gcc SHARED=0 BUILD=release UNICODE=0 mingw32-make -f makefile.gcc SHARED=0 BUILD=release UNICODE=1 mingw32-make -f makefile.gcc SHARED=1 BUILD=debug UNICODE=0 mingw32-make -f makefile.gcc SHARED=1 BUILD=debug UNICODE=1 mingw32-make -f makefile.gcc SHARED=1 BUILD=release UNICODE=0 mingw32-make -f makefile.gcc SHARED=1 BUILD=release UNICODE=1 これで取りあえずはOKで,wxSmithプロジェクトのコンパイル/リンクも通った。 ただ,debug版もRelease版もANSI版もUNICODE版も,ライブラリ(.aファイル)がみんな同じフォルダに入ってしまって [Settings]→[Compiler and Debugger]→[Linker Settings]でリンクするファイルを指定するときに選びにくいので, 目的毎にライブラリの出力先を変えるように,バッチファイルを変更してみた。 cd c:\wxWidgets-2.8.10\build\msw mingw32-make -f makefile.gcc SHARED=0 BUILD=debug UNICODE=0 CFG=_debug_ansi mingw32-make -f makefile.gcc SHARED=0 BUILD=debug UNICODE=1 CFG=_debug_unicode mingw32-make -f makefile.gcc SHARED=0 BUILD=release UNICODE=0 CFG=_release_ansi mingw32-make -f makefile.gcc SHARED=0 BUILD=release UNICODE=1 CFG=_release_unicode mingw32-make -f makefile.gcc SHARED=1 BUILD=debug UNICODE=0 CFG=_debug_ansi mingw32-make -f makefile.gcc SHARED=1 BUILD=debug UNICODE=1 CFG=_debug_unicode mingw32-make -f makefile.gcc SHARED=1 BUILD=release UNICODE=0 CFG=_release_ansi mingw32-make -f makefile.gcc SHARED=1 BUILD=release UNICODE=1 CFG=_release_unicode そしたらwxSmithプロジェクトを作ってコンパイルすると,platform.hの196行目で, #include "wx/setup.h" の,setup.hが見つからないと言うエラーになる。インクルードディレクトリ 関係は何も変わってないんだが,何でだろ?
18 : ちなみに,Code::BlocksはMinGWなし版をインストールして,MinGWとwxWidgetはC:\の直下のフォルダにインストール してる。Code::BlockはデフォルトだとC:\Program Filesの下のフォルダにインストールされるので,空白を含むフォルダ名 がUNIX育ちのツール類に悪影響を与えるのがいやだったもんで...
19 : 自己解決。install.txtをよく読んでみたら,ライブラリが出力されるパスのさらに深いところからsetup.hを 読み込む仕様になってることが判明。 だからライブラリの出力パスを変えたら,Code::Blocksの設定でコンパイラのSearch Directoriesに自分で 検索パスを追加する必要があるようだ。リンカのライブラリ検索パスも同様。 ライブラリをデフォルトの出力パスに出力する場合は,検索パスの設定を何もしなくて良いようになって いるのでわかりにくかった。
20 : >>19 激しく乙。 わしのとこはデフォで通してるからそういう仕様だとはしらんかったなぁ…
21 : codeblock使ってるときの入力をviライクにしたりできませんか? まあvi使えよって話になりますが・・
22 : >>21 なかったような希ガス。(エディタの設定をあんまり見てないから断言できないが。) プラグインならあるかもしれないが、なんだかんだでvi使うのが一番はやいかも。
23 : >>22 ありがとうございます プラグインちょっと探してみます
24 : >>10 超亀レスだけど... Documents and Settingsの下の自分のログオンプロファイルの Application Data\codeblocks\default.conf に保存されてるので, 再インストール前に削除すれば初期状態になるよ。
25 : Windows上でCode::BlockとwxWidgetsを使ってRAD環境を構築しようと思い、まずは Code::Blocksと幾つかのコンパイラの組み合わせをテストしてみた。 ■Disital Mars C++ ・コンパイル・リンクは非常に速い。 ・Shift JISで書いたソースでもコンパイルオプションを指定すれば日本語の文字列も ちゃんと通る(マルチバイトの場合)。 ・ところがワイド文字列をL"あいうえお”の形で書けない。ソースコードをUTF-16やUTF-8で 書くとコンパイルできない。ワイド文字列は\uを使って文字コードで記述するしかなさそう。 ・STLはカスタマイズされたSTLPortが利用できるので、ちょっとテストした限りでは問題ない ようだった。 ・Code::Blocksと組みあわせられるコマンドラインデバッガがない。 Digital MarsのD言語用のものが使えそうだったんだが、C++の変数を理解してくれない ようで、ブレークは 掛かるが変数のウォッチができない。これはちょっと致命的。 ・リソースコンパイラに日本語が通らないらしい(ネット上で見た話)。 ■WATCOM C++ ・これもコンパイル・リンクは結構速い。 ・Shift JISで書いたソースで日本語の文字列もちゃんと通る(マルチバイトの場合)。 ・ワイド文字列もソースをShift JISで書いてもL"あいうえお"と書くと、ちゃんとUNICODE 文字列として認識してくれる(コンパイルスイッチで指定)。なので::MessageBox()の引数に L""の形で文字列リテラルを記述できる。 ・STLは独自だが、特に問題はなさそう。 ・デバッガーは、WATCOMのIDEに含まれるデバッガーを外部ツールとして登録して使うと言う 裏技があるが、WATCOMデバッガー用のデバッグシンボルを出力するコンパイルオプション を指定してこんなピルすると、#include<string> などと書いた場合に、コンパイル中にメモリ アクセス違反を起こしてコンパイルできないバグがある。残念。 上の二つはwxWidgetsのビルドをするまでもなく、残念ながら選外となった。 軽くて速くて良いんだが、惜しい。
26 : (続き) これ以降のものは、wxWidgetsのビルドも行って実際にRAD環境を構築して動かしてみた。 ■gcc/g++(Min GW) ・コンパイル・リンクがやたら遅い。wxWidgetsのビルド(debug/release, static/DLL, ANSI/UNICODE の全組み合わせ8種類)は、俺のボロいノートPCだが12時間も掛かった。 ・ソースコードはUTF-8で書けば日本語はマルチバイトもワイド文字列も問題ない。 L""の形でちゃんとUNICODEとして認識してくれる。 ・デバッガーはgdbで相性バッチリ。 ・STLは大丈夫そうだったんだが、wstringがコンパイルは通るのにリンカーエラーになる。 別にSTLPortを利用した方が良いようだ。 ■Visual C++ 2008 Express ・コンパイル・リンク速度は普通。wxWidgetsのビルド8種類は4時間弱。 ・ソースコードはShift JISで書いてマルチバイトもワイド文字も日本語問題なし。L""でUNICODEと 認識される。 ・STLも問題なし。 ・デバッガーはcdbでバッチリ(Visual C++ 2008 Expressに含まれないので、別にダウンロードして インストールする必要有)。デバッグ中にカーソルを置いた変数の値をツールチップで表示 するところまで「やってくれる。 ・Visual C++ 2008 Expressをインストールすると、最小インストールにしても、なんだかいろいろ インストールされるし、アンインストールしても訳のわkらんフォルダが沢山残るのが気に入らない。 必要なのはコマンドライン版のコンパイラ/リンカ/ライブラリアン/リソースコンパイラ/デバッガ /MAKE 程度のものだけなんだが... Borland C++は試してない(これまでBorland使ってきて、それとの比較なので...)。 結局、何やかんや言ってもVC++が一番良さそう。C++ Builderと同程度の環境が構築できた。 Code::Blocks自体は安定感が今一歩だけど、出来はすごく良いと思う。頑張って欲しい。
27 : CBはrelease buildとnightly buildで評価がぜんぜん違ってくると思うんだが? 開発チームはリリース版の要求が再三あるにもかかわらず、ドキュメントその他 もろもろのめんどくさいことをやるぐらいなら開発してた方がまし、nightly buildをつかってくれっていってる連中だから。 最近はnightlyがmonthlyになってるからsvnからソースとって自力でコンパイルが 当たり前になってしまった
28 : >>27 > CBはrelease buildとnightly buildで評価がぜんぜん違ってくると思うんだが? あ,そうなんだ。時間があったら「nightly buildを試してみようと思ってたんだけど, 背中を押されたので早速やってみるよ。サンクス。 まぁ,>>25 〜>>26 はCBの評価と言うより,組み合わせるコンパイラの評価なんだが, CB,特にwxSmithが不安定で,ボタンを貼るとウィンドウ一杯の大きさの巨大ボタンに なったり,貼り付けたコンポーネントを動かすと突然CB丸ごとエラーメッセージ無しで 落ちたりすることが数回あったので気になってた。 > 最近はnightlyがmonthlyになってるからsvnからソースとって自力でコンパイルが > 当たり前になってしまった svnも自分のマシンに入ってるから,これもやってみようと思う。 しかしここまでよく出来たRADツールは他にはQt Creator位しかないので,もっと盛り上がって も良いと思うんだが,ここも書き込み少ないし,なんでかな?てなわけでsageないで書いとこう。
29 : >>28 わしはdmcを使ってる。 デバッガが使えないからデバッグの時だけbcc使うけど。
30 : >>27 早速 2009/08/17 版のNihgtly Buildを入れてみた。 wxSmithでコンポーネントを動かすと突然落ちる問題は解決されてるみたい。 巨大ボタンの問題は残ってるけど,回避方法がわかった。 新規にwxSmithプロジェクトを作ると,サンプルアプリが出来るけど,メインのダイアログ上の wxBoxSizerを削除してダイアログだけにした状態でボタンを貼ると,ダイアログ一杯に広がった 巨大ボタンになるけど,wxBoxSizerを削除た段階で一度ビルドしてからボタンを貼ると 大丈夫。 ところで,新規にwxSmithプロジェクトを作った時に出来るサンプルアプリを,メインダイアログだけに したいんだけど,それには,User Template作るのがいいのかな?
31 : >>29 なるほど,そういう手もあるね。 確かにdmcは軽くて速くて魅力的。先祖はZortec C++だし。 で,リソースコンパイラに日本語が通らないって話は本当なの?
32 : >>30 自己レス。情報にウソがあったので訂正。 > 巨大ボタンの問題は残ってるけど,回避方法がわかった。 > 新規にwxSmithプロジェクトを作ると,サンプルアプリが出来るけど,メインのダイアログ上の > wxBoxSizerを削除してダイアログだけにした状態でボタンを貼ると,ダイアログ一杯に広がった > 巨大ボタンになるけど,wxBoxSizerを削除た段階で一度ビルドしてからボタンを貼ると > 大丈夫。 wxBoxSizerを削除してからビルドしてもダメ。 正しくはwxBoxSizerを削除してから,ダイアログのサイズを手動で変更してからボタンを貼れば 大丈夫だった。
33 : >>32 もうちょっと正確に言うと.,ダイアログのサイズをdefault(-1, -1)にしておくとダメのようだ。 >>29 「なるほど」なんて>>31 に書いたけど,kwsk教えてもらえると嬉しい。 デバッグはBCCでやっておいて,Releaseバージョンをビルドする時だけdmcを使うって意味? それとも、dmcのデバッガにbccのものが使えると言うことなの(無理そうだけど)。
34 : >>33 BCCをデバッグビルドに、dmcをリリースビルドに使うって意味。あの高い最適化性能を使わなかったらもったいない。 あとリソースコンパイラの噂はよく分からん。リソースコンパイラに日本語通したことがないような気がする。(コマンドには-jってコマンドがあるけど)
35 : >>17, >>19 自己レス。 >>17 の後半に書いたような目的別にライブラリの出力先を変える必要は全然なかった。 新規にwxWidgetsプロジェクトを作る時に,ウィザードでちゃんと使うライブラリを指定すれば, プロジェクト毎のBuild optionに必要なライブラリがちゃんと追加される。 デフォのままで何の問題もない。wizardのスクリプトでこの辺処理してる。 よく出来てるなぁ。
36 : >>34 亀レスだけど,情報サンクス。 で,C::Bの最新Nightly BuildでdmcでwxSmithプロジェクト作るとスクリプトエラーが 出てプロジェクトが作られないんだけど,同じ現象の経験はありませんか? フリー版のdmcだと,wxWidgets自体,staticのdebug版(Non-UNICODE)しかBuildできないのは ドキュメント読んでてわかったので,C::Bでもそのように指定してる。 なのになんでだろ。wizardのスクリプト解析しないとダメかな。 聞いてばかりじゃ何なので,dmcスレの方にUNICODEの文字列リテラルをソースに文字列で(文字コードでなく) 直接書く方法をカキコするので,よろしかったら使ってみて。
37 : >>36 お、すげぇ。どうもありがとうです。 Nightly Buildの件はよくわからん。(わしは8.02オンリーなので。) 本家にバグ報告してみてもいいかもしれない。
38 : >>37 別のPCで8.02でもやってみたけど、結果は同じだった。 で、templates/wizard/wxwidgets/wizard.script を開いて眺めてみたら、 コンパイラが dmc の場合の記述がすっぽり抜け落ちてるようだ。 gccだのowだのmsvc*だのの場合の処理はちゃんと書いてあるのに。 dmcでwxSmithプロジェクトのwizardちゃんと動作してる? それとdmcはもしかしてフリー版じゃなくて製品版使ってるの? あぁ、何とかしてこの超絶高速高効率コンパイラ使いたいんだが... それとデバッガーの件はちょっと目途が付いた。 cv2pdb ってソフトがあって、dmcで.exeに埋め込まれたcodeviewデバッグ 情報をマイクロソフトの.pdbファイルに抽出してくれる。 今C::Bだと、コンパイラがVC++のときはデバッガはcdb対応で、それ以外のときは gdb対応になってるので、Subversionで最新ソース落としてそこだけちょこっと 書き換えてdmcもcdb使うようにしてビルドすれば、コンパイル後に cv2pdb を起動 するようにしておけばうまく行きそう。
39 : >>38 あれ、おかしいな。わしのとこでは普通に動くけど。(フリー版で) スクリプトがごっそり抜け落ちてるなら自分で書き直すのも手だろうけど、そこら辺は全くわからない。
40 : >>39 何度も申し訳ないけど、フリー版のdmcだとwxWidgetsのライブラリは、static/debug/non-UNICODE 一種類しか ビルドできてないよね(もちろんmonolithicでもない):フリー版付属のmakeのせいでそういう仕様らしい。 本家のフォーラムで聞いてみるか...
41 : >>40 まぁそうだね。 だから、わしはbccでUnicode版をコンパイルしたのをdmcが作ったファイルとしてる。(フォルダ名を偽装するだけでOK) しかし、なんなんだろうなそのバグ。 とりあえず次のNightlyが出るまで8.02を使っておきなよ。
42 : どうもwxWidget2.90が来たみたいだね。 コンパイルめんどいから使わないけど(来年の3.0系列リリースまで様子見。)
43 : >>41 > だから、わしはbccでUnicode版をコンパイルしたのをdmcが作ったファイルとしてる。(フォルダ名を偽装するだけでOK) なんと! bccとdmcの.libはバイナリレベルで互換性があるんだね。 > とりあえず次のNightlyが出るまで8.02を使っておきなよ。 8.02でも同じ現象なので、本家のFORUMにカキコしてみた。 >>41 俺も人柱になる気はないので、もう暫く様子見のつもり。
44 : >>43 いや、互換性というか、ただの偶然。だからいつでもそうだとは限らないかも。
45 : 大したことじゃないんだけど,C::BのエディタでインラインでIMEを使えるように する方法はないのかな? 知ってる人いません?
46 : The 10 October 2009 build (5859) is out. http://forums.codeblocks.org/index.php?PHPSESSID=aac2585ab388ab5ea56484145d65f2c3&topic=11311.0
47 : 今までwxWidgetsプロジェクトを作る時はwxSmithだったんだけど,wxFormBuilderを試してみた。 やり方をテキトーにまとめると, 1.wxFormBuilderをインストール(あたり前) 2.C::BでwxWidgetsプロジェクトを作る時にwxFormBuilderを選択する。 3.プロジェクトフォルダ内に.fbpファイルが出来るので,これをwxFormBuilderで開く。 「.fbpのバージョンが古いので自動的に変換するか?」と言うメッセージが出るが OKしてしまって構わない(C::B側で.fbpファイルを開くことは二度とないので)。 4.サンプルアプリのダイアログ/フレームが出来上がっているので,GUI Editor上で いらないものを削除したり,新たな部品を追加したりして編集。イベントハンドラの 名前も設定できる。 5.wxFormBuilderでプロジェクトを保存。 6.F8キーまたは,ツールパレット上の歯車みたいなアイコンを押してコード生成。 C::Bが作った基底クラスを記述した.cppと.hが更新される。 7.wxFormBuilderで[Tools]⇒[Generate Inherited Class]を実行してはいけない。 せっかくC::Bが作った継承クラス側の.cpp/.hが上書きされてしまうため。 8.C::Bのプロジェクトを開き,基底クラス側の変更点を継承クラス側にコピペ し,イベントハンドラの中身を記述する。増えたメンバー変数は自動的に継承 されるので,継承クラス側の.hを編集する必要はない。.cppだけに実行コードを 書けばよい。 9.上のコピペ作業はGUIを変更するたびにやる必要がある(チト面倒)。
48 : (続き) てなわけで,wxSmithより手数が増えて面倒なのと,.h/.cppのファイル数が通常の 倍に増えて,大きなアプリだと管理がややこしくなるのが欠点だけど,wxFormBuilder 自体の使い勝手は良いし,wxSmithより完全なWYSIWYGになっているのが嬉しい。 それとwxSmithでは,固定サイズのDialogやFrameを作ると,sizerを置いたとたんに 勝手に小さいサイズにシュリンクしてしまう欠点があり(中にGUI部品が置きにくいし), 実行時に固定サイにするだけならコンストラクタの最後の方に SetClientSize() で サイズを設定すれば良いものの,GUI編集時には固定サイズが全く無視されるが, wxFormBuilderでは吐くコードの違いから,そんなことは起こらない(実際には wxWidgets側の問題なんだろうけど)。 どちらが良いかは...微妙。
49 : The 11 November 2009 build (5911) is out. ttp://forums.codeblocks.org/index.php/topic,11504.0.html
50 : The 02 January 2010 build (6023) is out. ttp://forums.codeblocks.org/index.php/topic,11784.0.html
51 : The 16 January 2010 build (6088) is out. ttp://forums.codeblocks.org/index.php/topic,11875.0.html
52 : Visual Studioつかってるんだけど、OS Xでも遊んでみようと思っている。 別のコードを横に二つ並べたりするのって、 これはできないのかな? スプリットの垂直みたいな感じで。
53 : >>52 タブをつかんで移動させてみて。 …いつもの人が来ないので。 The 27 February 2010 build (6181) is out. http://forums.codeblocks.org/index.php/topic,12098.0.html
54 : >>53 そのリンクにある最新版使ったらできた。 公式で配ってるのは対応してないんだね、
55 : The 22 May 2010 build (6271) is out. http://forums.codeblocks.org/index.php/topic,12593.0.html
56 : いまさら感がかなりでてるがver10.05正式版がきてるね。
57 : Code::Blocks 日本語化 10.05対応版 http://hp.vector.co.jp/authors/VA053752/code_blocks.html #テトラさん、ありがとうございます。
58 : eclipseに比べてどこが違うの?
59 : 速い
60 : 10.05を日本語化せずに使用、D言語用 新規ファイルに 3D と全角で打ち込もうとするとハングするんだが 俺だけ? 他の文字を先に打つと通ったりもするんでクリチカルじゃないんだけどさ
61 : ほしゅ
62 : Code::Blocksにgcc4.5を組み込む方法について書かれたサイト(英語サイトでも可) を知ってたら教えてください。
63 : >>62 です ttp://forums.codeblocks.org/index.php?topic=14212.0 ここで良いですかね。でも英語がw
64 : MinGW単独インストールすりゃいいだけだ 4.5.2動いてる デフォの場所なら、特に設定なしで認識できるはず 付属版じゃないほうな
65 : ありがとうございます。 ところで、「付属版じゃないほう」というのは何についてでしょうか? くだらん質問ですみませんが、お願いします。
66 : C::BのMinGW付属版とそうじゃないやつ ついでに言うと、デフォの場所ってのは、MinGWのデフォ指定先のこと 自分はいじってたんだけど、C::Bで設定するとき、MinGWの デフォインスト先がデフォでコンパイラーの設定に出てきたので そうじゃないかと思った。
67 : どうも、ありがつございます。
68 : あの、MinGW付属版じゃないやつって、ソースコードをgcc4.5.2でコンパイル するって話でしょうか・・・
69 : (1)ttp://tdm-gcc.tdragon.net/download からtdm-gcc-4.5.2を ダウンロードしてインストールする。デフォルトでは C:\MinGW32 に(バイナリが)インストールされる。 (2)ttp://www.codeblocks.org/downloads/26 からCode::Blocks10.05 をダウンロードしてインストールする。デフォルトでは C:\Program Files\CodeBlocksフォルダにインストールされる。 ちなみに、私は間違ってMinGWがバンドルされた版をインストール してしまった。 (3)Code::Blocksを立ち上げ、「Setting」→「Compiler and Debugger・・・」 →「Toolchain executables」タブを選択。 (4)一番上のCompiler's installation directoryを (1)の 「C:\MinGW32」に設定 (5)また、「Compiler settings」タブを選択して Have g++ follow the coming C++0x ISO C++ language standard [-std=c++0x] にチェックマークを入れる。 (6)(2)でMinGW (gcc4.4.1)がバンドルされた版をインストールしてしまったので、 恐ろしいことにC:\Program Files\CodeBlocks内のMinGWフォルダを手作業でごっそり 削除(・_・;) これで、TDM-gcc4.5.2のC++0xがCode::Blocksで使えるようになりました。
70 : だれか、STLportを使える方法を教えてくれませんか?
71 : ちょっと長くなりますが、どなたかアドバイスお願いします。 環境 Windows XP (1) D:\Program Filesフォルダを作成して、このフォルダ内にCode::Blocks 10:05 (gcc4.4.1-tdmをバンドルしていない版)をインストール (2) D:\MinGW32にgcc4.5.2-tdmをインストール (3) D:\にSTLport-5.2.1をインストール (4) Setting → Compiler and debugger..→ Toolchain executable を選択し、 「Compiler's installation directory」を D:\MinGW32に設定 (5) STLportのiostream.hは使わないように設定。stlport\stl\config\user_config.h 内の「#define _STLP_NO_IOSTREAMS 1」を有効にする。 (6) Setting → Compiler and debugger..→ Search directries → Compiler で 現れるディレクトリ設定画面で D:\MinGW32\include D:\MinGW32\lib\gcc\mingw32\4.5.2\include D:\MinGW32\lib\gcc\mingw32\4.5.2\include\C++ D:\Stlport-5.2.1\stlport の順番で入力
72 : 続き↓ 以上の設定の上でCode::Blocks上でビルドすると、以下のようなエラーを最初に40余りの コンパイルエラーが出てしまいます。 D:\STLport-5.2.1\stlport\stl\_ioserr.h|9|error: #error STLport iostreams header cannot be used; you chose not to use iostreams in the STLport configuration file (stlport/stl/config/user_config.h).| ・・・ VC++2008だったら最初にあらわれたincldeファイルが優先されて、それ以後のディレクトリ が無視されるので(と理解しているのですが)、(6)の設定で問題なくビルドできるのですが、 Code::Blocksにはこのようなディレクトリの優先順序がないんでしょうか?それとも別の ところに原因があるのでしょうか?
73 : >VC++2008だったら最初にあらわれたincldeファイルが優先されて、それ以後のディレクトリが無視されるので それは無いと思う 別の所で問題があってw たまたまうまくいっていただけかと
74 : ありがとうございます。 >それはないと思う そうですか。ちなみにエラーは_ioserr.hというファイルの * * This file is included in every header that needs the STLport library to be * built; the header files mostly are the iostreams-headers. The file checks for * _STLP_USE_NO_IOSTREAMS or _STLP_NO_IOSTREAMS being not defined, so that the * iostreams part of STLport cannot be used when the symbols were defined * accidentally. */ #if defined (_STLP_NO_IOSTREAMS) ↓ # error STLport iostreams header cannot be used; you chose not to use iostreams in the STLport configuration file (stlport/stl/config/user_config.h). #elif defined (_STLP_USE_NO_IOSTREAMS ) # error STLport iostreams header cannot be used; your compiler do not support it. #endif の行で発生してます。英語がわからないけど、STLportをビルドしないといけないんですかね。
75 : Code::Blocks + MinGW で環境構築してるんだが コンパイラがboostのインクルードファイルを見に行ってくれない Makefileは自動生成しないにチェック入れてる。 Makefileの一部 # Makefile TARGET = BoostAsio.exe SRCS = BoostAsio.cpp OBJECTS = BoostAsio.o RM := rm CXX := mingw32-g++.exe CC := mingw32-g++.exe CPPFLAGS = -O2 -Wall -D_WIN32_WINNT=0x0601 -I/c/Boost/ ← Boostのヘッダファイルがある場所 LDFLAGS = -L/c/MinGW/lib \ … (コード) --- コンソールからmake実行するといけるのにIDEからだとNo such file or directoryと出る
76 :11/09/18 すいません自己解決しました makeのデフォルトルールに余計なものが混じっていて、コンパイラが対象ファイルを見に行けなかったみたいです
TOP カテ一覧 スレ一覧 削除依頼 ▲
・ 次のスレ
cとc++どっちがいいの? 東のエデンのようなプログラムを作るには 3Dゲーム用マップ作製ツール提供 普通高校で考えてプログラミングしろと言われた