アットウィキロゴ

開発環境全般

>>>MinGW

  • ダウンロードとインストール
  • 作業ディレクトリの変更
  • memo
  • error

作業ディレクトリの変更

作業ディレクトリを変更する方法は、アイコンを右クリックして、プロパティを表示させる。 その後、「ショートカット>作業フォルダー」にて作業ディレクトリを指定すると、変更される。 ちなみに、コマンドプロンプトでも方法は同じであり、こちらの初期設定は、「%HOMEDRIVE%%HOMEPATH%」となっている。また、PATHを通していない時には、batファイルを使う(いわゆるsh)。

memo

選択して右クリックするとコピーできているらしい。 コマンドで、もう一度右クリックすると、貼り付けられる。

error

 warning: unknown escape sequence: '\201'

駄目文字「ソ」によって発生している。 「ソ\」とすることで回避できる。

>>>Cygwinに関するメモ

  • エラー

エラー

 
 CYGWIN environment variable
 option "nodosfilewarning" turns off this warning.

というエラーがでることがある。rubyを使っているときにいきなしでてくるようになった。

解決策は、windowsの環境変数に新規で「変数名:CYGWIN」、「変数値:nodosfilewarning」と入力する。

>>>Visual Studioに関すること

  • インデントをそろえる
  • エラー発生時の処理方法
  • エラー関連

インデントをそろえる

ショートカットは『Ctrl+A+K+F』でそろう。 ちなみに、『Ctrl+A』は全範囲選択のショートカット。

エラー発生時の処理方法

void型関数にて、エラー時の処理として、exit(1)がある。 exit(-1)とかでも構わないが、違いはない。 正常終了時には、exit(0)であり、異常終了時には0以外の数であればよい。 void型としたのは、returnが呼び出し元に戻るのに対して、exitはシステムに戻るためである。main関数内で使えば、どちらも同じ動きをする。違いとしては、returnは値を返すのに対し、exitはプログラムを終了させることである。

エラー関連

 mt.exe : general error c101008d: Failed to write the updated manifest to the resource of file ~~~

っていうエラー、ビルドするとたまーに出てくるようになった。 調べてみると、ウイルスソフトが原因だとか。。。

 LINK : warning LNK4098: defaultlib 'LIBCMTD' は他のライブラリの使用と競合しています。
 /NODEFAULTLIB:library を使用してください。

これはDebag構成でビルドした時に起こった。 原因はランタイムライブラリを『マルチスレッド(/MT)』で設定していたことによるもの。 プログラム側で使っているLibと、参照しているLibが違うために起こっていると思われる。

確認方法は以下の通り。 「プロジェクトのプロパティー>構成プロパティ>C/C++>コード生成>ランタイムライブラリ」で『マルチスレッドデバッグ(/MTd)』に変更する。

ちなみに今回の場合はRelease構成では『マルチスレッド(/MT)』で構わない。

また、他の人が作ったプログラムなどでは、「自分はRelease構成でビルドをしたいのに・・・・・・このエラーが出る!!」みたいな事が起こりうる。この場合、つまりはリンクしてあるライブラリと参照しているライブラリが違うためにおこっているので、Release構成でのビルド時に、「プロジェクトのプロパティー>構成プロパティ>リンカ>入力>特定のライブラリの無視」のところに『libcmtd.lib』を追加すればいい。逆の場合も同様。

 LINK : warning LNK4199: /DELAYLOAD:OleAcc.dll は無視されます。OleAcc.dll にインポートがありません。

これは、「プロジェクトのプロパティー>構成プロパティ>全般>MFCの使用」の部分が「スタティックライブラリでMFCを使用する」になっているときに、怒られる。「標準Windowsライブラリを使用する」とかに変更すれば怒られない。

最終更新:2011年06月26日 15:19