Hatena::Grouprubyist

たばさの RSSフィード

03/29(日) 2009

visual c++ 2005 Express Edition への移行メモ

| visual c++ 2005 Express Edition への移行メモ - たばさの を含むブックマーク はてなブックマーク - visual c++ 2005 Express Edition への移行メモ - たばさの

filemvにて。


エラー、メモと参照url


>> cannot open include file 'afxres.h'
  * VS2008 Express Editionでビルドすると、.rcファイルで下記のエラーが発生します。
      .\ttxssh.rc(10) : fatal error RC1015: cannot open include file 'afxres.h'.

    本現象を回避するには、.rcファイルをテキストエディタで開き、afxres.hのincludeを削除し、新規に2行を追加します。

      - #include "afxres.h"
      + #include <windows.h>
      + #define IDC_STATIC -1

http://exth.net/~togabito/mtarchive/archives/2006/10/afxresh.html

http://ttssh2.sourceforge.jp/manual/ja/reference/develop.txt


エラーの内容は、fatal error C1083: include ファイルを開けません。'fstream.h': No such file or directoryというものです。エラーが出た部分は#include "fstream.h"というふうになっているのですが、この部分をいじっても解決されません。


fstream を include した場合は、以下のいずれかの変更が必要です。

std::ifstream std::ofstream と、fstream で定義されているクラス etc. に、std:: をつける。

ソースの上の方( #include <fstream> の次あたり)で
using namespace std;
と宣言する。

前者の法がおすすめです。

http://okwave.jp/qa3631340.html includeファイルが開けない -OKWave


ボタンなどのCObjectから派生したコントロールを基本クラスに持つ派生クラスを使ってないでしょうか?
その派生クラスでコピーコンストラクタやoperator=が定義されていないと、お尋ねのエラーが出た記憶があります。
もちろん、どこかで代入されてる箇所があるから必要なわけですが。
たぶん、関数の仮引数がポインタや参照ではなくて値渡しになってるとかですかね。


> ofstream getfnc(ofstream &ofs){ ...; return ofs; }
 =>ofstream &getfnc(ofstream &ofs){ ...; return ofs; }

http://d.hatena.ne.jp/twhs/20080526


 >>nocreate
 > ios::nocreate消した

fstream foo("foo.txt", ios::in);
if(!foo) {
  // ファイルが見つからないとき。
  }
else {
  // ファイルがみつかったとき;
} 

http://skeishi.web.fc2.com/dev-cpp/neko/neko.html


No.4660  Re:未解決の外部シンボル
発言者: 葉迩倭
発言日: 2007 05/12 19:43
 
無償版の場合、有償版ではデフォルトでリンクされるライブラリもすべてリンクされないので

#pragma comment( lib, "ws2_32.lib" )
#pragma comment( lib, "imm32.lib" )
#pragma comment( lib, "winmm.lib" )
#pragma comment( lib, "ole32.lib" )
#pragma comment( lib, "gdi32.lib" )
#pragma comment( lib, "user32.lib" )
#pragma comment( lib, "msacm32.lib" )
#pragma comment( lib, "shell32.lib" )
#pragma comment( lib, "comdlg32.lib" )
#pragma comment( lib, "advapi32.lib" )

ソースのどこかに上のリンク用の指定を記述してみてください。

http://www.twin-tail.jp/cgi-bin/program_bbs/treebbs.cgi?kako=1&log=4660


add this lib:  
  
1. Open project settings dialog  
  
2. switch to "Link"-> "Object/library modules" textbox  
  
3. comctl32.lib  



=> #pragma comment( lib, "comctl32.lib" )

http://www.eggheadcafe.com/forumarchives/platformsdksecurity/Dec2005/post24990196.asp


プロパティ?で
 MFC -- windows標準の~に変えた

 

typedef (WINAPI *zzz)(const HWND,LPCSTR ,LPSTR ,const DWORD);
 .\zip.cpp(16) : error C4430: 型指定子がありません - int と仮定しました。
           メモ: C++ は int を既定値としてサポートしていません
=> typedef DWORD (WINAPI *zzz)(const HWND,LPCSTR ,LPSTR ,const DWORD);
void ?

for(int i=0; ...){
}
for(i=0; ...){             // 未定義エラー。 int を付ける。
}

保留していた作業をやってみた。strcpyとか警告出るけどいちおうビルドできるようにはなったような。

というか、

Visual Studio 2005 Express Edition の提供を 2009 年 3 月 31 日に終了いたします。

http://www.microsoft.com/japan/msdn/vstudio/Express/

トラックバック - http://rubyist.g.hatena.ne.jp/hatecha/20090329
カレンダー
<< 2009/03 >>
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
archive Error : RSSが取得できませんでした。