amazon

30.4.11

warning C4793: `anonymous namespace'::CV_XADD': ネイティブ関数としてコンパイルされました

c:\program files\opencv-2.2.0\modules\core\include\opencv2\core\operations.hpp(81): warning C4793: `anonymous namespace'::CV_XADD': ネイティブ関数としてコンパイルされました:
1> インラインのネイティブ アセンブリはマネージ コードでサポートされていません
という警告を消すには、
stadfx.hの中に、operations.hppを呼び出しているファイルのヘッダーを書き加え、#pragma unmanagedと#pragma managedで括ればよい。
つまり、
// stdafx.h
#pragma once

#pragma unmanaged
#include "foo.h"
#pragma managed
警告の通り、マネージコードにしなければよい。

28.4.11

プロシージャエントリポイント_ftol2がダイナミックリンクライブラリmsvcrt.dllから見つかりませんでした

OpenGLで作成したプログラムをWindows XP で起動すると、
プロシージャエントリポイント_ftol2がダイナミックリンクライブラリmsvcrt.dllから見つかりませんでした
と出た。

作成は、OS: Windows 7で、Visual Studio 2010 のC++である。

この原因は、Windows 7付属のOPENGL32.dllをアプリケーションフォルダにコピーしたことにある。
アプリケーションフォルダに、Windows 7の OPENGL32.dllがあるとそれを読み込んでしまいエラーが起こる。
本来はc:¥Windows¥system32¥にあるWindos XP付属のOPENGL32.DLLを読み込む必要がある。
よって、アプリケーションフォルダのOPENGL32.dllを削除すれば良い。

error: jump to case label error: crosses initialization of ‘******’



error: jump to case label
error: crosses initialization of ‘******’
がswitch文で出る。
case 1:
[some functions]
break;
を下に変えればよい。
case 1:{
[some functions]
break;
}