• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:snprintfが使用できない。)

snprintfが使用できない。ビルドエラーの解決方法は?

このQ&Aのポイント
  • 先週までビルドできていたプログラムがエラーとなり、snprintf関数が見つからないという警告が表示されました。
  • エラーログによると、includeファイルのcvcompat.hでsnprintf関数が見つからないというエラーが発生しています。
  • 環境はVisual C++ 2008 Express EditionとWindows Vista Business OEMActです。

質問者が選んだベストアンサー

  • ベストアンサー
  • jjk65536
  • ベストアンサー率59% (66/111)
回答No.1

OpenCVではよく出るエラーみたいですね。 #define snprintf _snprintf としたら直ったってネットに書いてありましたけど いかがでしょう?

参考URL:
http://www40.atwiki.jp/chugoku/pages/134.html
alrai
質問者

お礼

ありがとうございます。 #define snprintf _snprintf を入れたら、snprintfを識別してくれました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • php504
  • ベストアンサー率42% (926/2160)
回答No.2

main関数は int main (void) か int main (int argc, char* argv[] ) のどちらかにしましょう

alrai
質問者

お礼

ありがとうございます。 ソースファイルにint main(int argc, char* argv[])はひとつしかないので、 ほかの部分を探していたら、OpenCVの cvcompat.h というファイルに、main( int argc, char* argv[])が入っていました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • C++でOpenCV コンパイルでエラー

    超初心者です。 Visual C++2010 ExpressでOpenCVを使おうとしています。 このページを参考にしています。 http://gihyo.jp/dev/feature/01/opencv/0002?page=2 プログラムは以下の通り。 #include <C:\Program Files (x86)\opencv\build\include\opencv\cv.h> #include <C:\Program Files (x86)\opencv\build\include\opencv\highgui.h> int main(int argc, char* argv[]) { IplImage* img; // 画像ファイルポインタの宣言 char imgfile[] = "lena.jpg"; // 読み込み画像ファイル名 // 画像の読み込み img = cvLoadImage(imgfile, CV_LOAD_IMAGE_COLOR); // 画像の表示 cvNamedWindow ("lena", CV_WINDOW_AUTOSIZE); cvShowImage ("lena", img); cvWaitKey (0); cvDestroyWindow("lena"); // 画像の解放 cvReleaseImage(&img); return 0; } コンパイルすると、以下のエラーメッセージが出ます。 1>------ ビルド開始: プロジェクト: try, 構成: Debug Win32 ------ 1> try.cpp 1>c:\program files (x86)\opencv\build\include\opencv\cv.h(63): fatal error C1083: include ファイルを開けません。'opencv2/core/core_c.h': No such file or directory ========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ========== どのようにすれば通るのでしょうか? 教えてください。よろしくお願いします。

  • 本に従ってビルドを進めていったつもりが・・失敗;

    ------ ビルド開始: プロジェクト: D3DFWsamplw, 構成: Debug Win32 ------ コンパイルしています... Renderer.cpp c:\dx90sdk\include\d3d9.h(33) : fatal error C1083: include ファイルを開けません。'objbase.h': No such file or directory Scene.cpp c:\documents and settings\owner\my documents\visual studio 2005\projects\d3dfwsamplw\d3dfwsamplw\scene.cpp(6) : fatal error C1083: include ファイルを開けません。'windows.h': No such file or directory Window.cpp c:\documents and settings\owner\my documents\visual studio 2005\projects\d3dfwsamplw\d3dfwsamplw\window.cpp(8) : fatal error C1083: include ファイルを開けません。'windows.h': No such file or directory コードを生成中... ビルドログは "file://c:\Documents and Settings\Owner\My Documents\Visual Studio 2005\Projects\D3DFWsamplw\D3DFWsamplw\Debug\BuildLog.htm" に保存されました。 D3DFWsamplw - エラー 3、警告 0 ========== ビルド: 0 正常終了、1 失敗、0 更新、0 スキップ ========== とでてしまいます、これだけみてなにが悪いのか誰か説明できるひといませんか?初心者なんですいません;

  • DirectXのエフェクトをやりたくて・・・

    VisualStudio2005 ExpressEditionを用いてプログラミングの初歩をやろうとしているんですが・・DirectXSDKをつかったエフェクトを作るときなぜかインクルードファイルとライブラリファイルのところにのところにDirectXSDKのファイルを追加しただけではエラーが出てしまいます。パスもしっかりとしたはずなんですがなんででしょうか?過去ログ見てもわかりませんでした; ------ ビルド開始: プロジェクト: D3DFWsamplw, 構成: Debug Win32 ------ コンパイルしています... Renderer.cpp c:\dx90sdk\include\d3d9.h(33) : fatal error C1083: include ファイルを開けません。'objbase.h': No such file or directory Scene.cpp c:\documents and settings\owner\my documents\visual studio 2005\projects\d3dfwsamplw\d3dfwsamplw\scene.cpp(6) : fatal error C1083: include ファイルを開けません。'windows.h': No such file or directory Window.cpp c:\documents and settings\owner\my documents\visual studio 2005\projects\d3dfwsamplw\d3dfwsamplw\window.cpp(8) : fatal error C1083: include ファイルを開けません。'windows.h': No such file or directory コードを生成中... ビルドログは "file://c:\Documents and Settings\Owner\My Documents\Visual Studio 2005\Projects\D3DFWsamplw\D3DFWsamplw\Debug\BuildLog.htm" に保存されました。 D3DFWsamplw - エラー 3、警告 0

  • OpenCVでml.hにエラーが・・・

    当方の環境は、Visual Studio 2005 Professsional Edition、OpenCV1.0です。 OpenCVで、SVMに挑戦しようと試しにOpenCVリファレンスにあるSVMのサンプルプログラムを動かそうとしたところ、 ml.h(75) : error C2061: 構文エラー : 識別子 'CvVector' を筆頭に、100以上のエラーがml.h内で発見されました。 リンカにml.dllを登録し忘れたのかと思い確認してみましたが、 プロジェクトのプロパティの追加の依存ファイルにml.libは登録されていました。 mlsvm.cppのエラー箇所を修正してopencv.slnをリビルドし直したのが原因かとも思い、OpenCVを再インストールし直した状態で試しても同じエラーが出ました・・・ 原因としては何が考えられますでしょうか。 回答の程よろしくお願いいたします。

  • 一番上だけ・・・?

    初めて投稿させていただきます。 私は今WEBを見て、DirectXとVisualStudio2005でC++のプログラムを作っています。 ユーザー定義のソースファイルとヘッダーファイル、リソースファイルを使っていて、そのうちヘッダーファイルを「stdafx.h」で参照したのですが、以下のようなエラーが出ました。 (以下プロジェクト名と各種ファイル名は一部仮称です) ------ ビルド開始: プロジェクト: prg, 構成: Debug Win32 ------ コンパイルしています... stdafx.cpp c:\documents and settings\nec-pcuser\my documents\visual studio 2005\projects\prg\prg\stdafx.h(38) : fatal error C1083: include ファイルを開けません。'hdf01.h': No such file or directory prg - エラー 1、警告 0 ========== ビルド: 0 正常終了、1 失敗、0 更新、0 スキップ ========== おそらく、以下のところに問題があると思われます。 ----------[SAMPLE CODE]----------(stdafx.h内) // TODO: プログラムに必要な追加ヘッダーをここで参照してください。 #include "hdf01.h" #include "hdf02.h" #include "hdf03.h" #include "hdf04.h" #include "hdf05.h" ----------[SAMPLE CODE]---------- そこで、この掲示板を参考にして次のような方法を取りました。 (1)""を<>に変えてみる (2)[ツール]-[オプション]からインクルードファイルにパス先を登録してみる (3)「"hdfXX.h"」を相対パスにする (4)「"hdfXX.h"」を絶対パスにする 結果は、(1)と(3)は元と同じエラー、(2)と(4)は300以上のエラーが出て、コンパイルが中断されてしまいました。 気になるのは、「"hdf01.h"」と「"hdf02.h"」の位置を入れ替えてみると、「hdf02.h だけを読み込めない」といったエラーが出たことです。 その後もヘッダーファイルを記述する順番を替えてみましたが、どうやら「一番上のヘッダーファイル」だけを読まないらしいです。 実は、WEBで見たプログラムはVC++6.0向けのプログラムで、そのままコピーしてVS2005に貼り付けたところ、 ------ ビルド開始: プロジェクト: SampleSTG, 構成: Debug Win32 ------ コンパイルしています... stdafx.cpp コンパイルしています... ssf01.cpp c:\documents and settings\nec-pcuser\my documents\visual studio 2005\projects\prg\source\ssf.cpp(537) : fatal error C1010: プリコンパイル ヘッダーを検索中に不明な EOF が見つかりました。'#include "stdafx.h"' をソースに追加しましたか? ssf02.cpp c:\documents and settings\nec-pcuser\my documents\visual studio 2005\projects\prg\source\ssf02.cpp(54) : fatal error C1010: プリコンパイル ヘッダーを検索中に不明な EOF が見つかりました。'#include "stdafx.h"' をソースに追加しましたか? ssf03.cpp c:\documents and settings\nec-pcuser\my documents\visual studio 2005\projects\prg\source\ssf03.cpp(136) : fatal error C1010: プリコンパイル ヘッダーを検索中に不明な EOF が見つかりました。'#include "stdafx.h"' をソースに追加しましたか? ssf04.cpp c:\documents and settings\nec-pcuser\my documents\visual studio 2005\projects\prg\source\ssf04.cpp(370) : fatal error C1010: プリコンパイル ヘッダーを検索中に不明な EOF が見つかりました。'#include "stdafx.h"' をソースに追加しましたか? コードを生成中... スキップ中... (関連する変更は検出されませんでした) prg.cpp prg - エラー 4、警告 0 ========== ビルド: 0 正常終了、1 失敗、0 更新、0 スキップ ========== というエラーが出たため見直してみたところ、stdafx.hに「// TODO: ~ 」といったものを見かけたため、上のように書き加えました。 PSDKやDirectXのパスは通っています。 アプリケーションは「Win32 Application」→「Win32 プロジェクト」と読み替えて、「プロジェクト名を入力して[OK]を押したら、次の画面でいきなり[完了]を押す」と、指示通りに作成しました。 ちなみに、OSは WindowsXP HomeEdition、 VS2005は AcademicEditionです。 よろしくお願いいたします。

  • visual C++ ビルド

    visual C++ ビルド 次のソースをビルドしたら、こんなエラーがでてきました。 どこがだめなんでしょうか。 //画面への出力を行うプログラム #include <instream> using namespace std; int main() { cout << "初めてのC++プログラム。\n"; cout << "画面に出力しています。\n"; } ビルド結果 1>------ ビルド開始: プロジェクト: hello, 構成: Debug Win32 ------ 1>コンパイルしています... 1>list1-1.cpp 1>c:\documents and settings\藤本剛史\my documents\visual studio 2008\projects\hello\list1-1.cpp(3) : fatal error C1083: include ファイルを開けません。'instream': No such file or directory 1>ビルドログは "file://c:\Documents and Settings\藤本剛史\My Documents\Visual Studio 2008\Projects\hello\Debug\BuildLog.htm" に保存されました。 1>hello - エラー 1、警告 0 ========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========

  • Opencvで質問

     Opencv初心者です。  今日opencvとVC++2010を設定して今練習中なのですが   #include <stdexcept>   #include <opencv/cv.h>   #include <opencv/highgui.h>   int main (int argc, char* argv[]){   const char *fileName = "C:\\Program Files\\OpenCV2.3.1\\samples\\c\\lena.jpg";   const char *windowName = "lena";   ::IplImage* img = ::cvLoadImage(fileName);   ::cvNamedWindow(windowName);   ::cvShowImage(windowName,img);   ::cvWaitKey();   ::cvDestroyWindow(windowName);   ::cvReleaseImage(&img);   }  と言うサンプルをビルドしたら  1>------ ビルド開始: プロジェクト: 画像処理練習, 構成: Debug Win32 ------  1>LINK : fatal error LNK1104: ファイル 'opencv_core231.lib' を開くことができません。  ========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========  エラーが出てしまい先に進めません。  もしかしたら他に設定が悪いのでしょうか?  インストールもC:\Program Files\OpenCV2.3.1に名前も変えインストールしました。  ttp://shiotani.cn/20110904vc2010opencv.html  ここを参考にさせていただきました。 よろしくお願いします。

  • VC++ 2008で別classからFormがincludeできません

    お世話になります。 タイトルの通り、別ソースで書いてあるクラスでForm1のincludeができません。includeすれば、そのclassの型が使用できるという認識なのですが、何か他にしなければならない事があるのでしょうか…。 環境はVisual C++ 2008 Express Editionです。 以下、ソースです。 [Form1.h] #pragma once #include "testclass.h" namespace testAppli { (略) private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { testclass *aaa = new testclass(); aaa->testfunc(this); } [testclass.h] #pragma once #include "stdafx.h" #include "Form1.h" class testclass { public: void testfunc(Form1^ aaa); }; [testclass.cpp] #include "stdafx.h" #include "testclass.h" void testclass::testfunc(Form1^ aaa) { return; } 以下のコンパイルエラーが出ています。 1>c:\documents and settings\in flames\my documents\visual studio 2008\projects\testappli\testappli\Form1.h(98) : error C2065: 'testclass' : 定義されていない識別子です。 1>c:\documents and settings\in flames\my documents\visual studio 2008\projects\testappli\testappli\Form1.h(98) : error C2065: 'aaa' : 定義されていない識別子です。 1>c:\documents and settings\in flames\my documents\visual studio 2008\projects\testappli\testappli\Form1.h(98) : error C2061: 構文エラー : 識別子 'testclass' 1>c:\documents and settings\in flames\my documents\visual studio 2008\projects\testappli\testappli\Form1.h(99) : error C2065: 'aaa' : 定義されていない識別子です。 1>c:\documents and settings\in flames\my documents\visual studio 2008\projects\testappli\testappli\Form1.h(99) : error C2227: '->testfunc' : 左側がクラス、構造体、共用体、ジェネリック型へのポインタではありません。 1> 型は ''unknown-type'' です。 1>c:\documents and settings\in flames\my documents\visual studio 2008\projects\testappli\testappli\testclass.h(8) : error C2061: 構文エラー : 識別子 'Form1' 1>.\testclass.cpp(4) : error C2065: 'Form1' : 定義されていない識別子です。 1>.\testclass.cpp(4) : error C2065: 'aaa' : 定義されていない識別子です。 1>.\testclass.cpp(5) : error C2448: 'testclass::testfunc' : 関数の定義が間違っています。 1>testAppli.cpp 1>c:\documents and settings\in flames\my documents\visual studio 2008\projects\testappli\testappli\testclass.h(8) : error C2061: 構文エラー : 識別子 'Form1' 1>c:\documents and settings\in flames\my documents\visual studio 2008\projects\testappli\testappli\Form1.h(99) : error C2660: 'testclass::testfunc' : 関数に 1 個の引数を指定できません。

  • OpenCVを使いたいのですが

    Visual C++ 2010にOpenCV2.4.3の導入し、設定を終えたのでプログラムをビルドさせるとエラーが吐き出され動作しません。 どなたか原因がわかる方はいらっしゃらないでしょうか? 【プログラム】 #include<stdio.h> #include<openCV2/opencv.hpp> #ifdef _DEBUG #pragma comment(lib,"opencv_core243d.lib") #pragma comment(lib,"opencv_highgui243d.lib") #pragma comment(lib,"opencv_objdetect243d.lib") #else #pragma comment(lib,"opencv_core243d.lib") #pragma comment(lib,"opencv_highgui243d.lib") #pragma comment(lib,"opencv_objdetect243d.lib") #endif //-------------------------------------------------------- //main int main(int argc,char* argv[]) { const char* szWndName="画像"; if(argc<2) { fprintf(stderr,"入力ファイル名を指定してください。\n"); return -1; } IplImage *img=cvLoadImage(argv[1],CV_LOAD_IMAGE_COLOR); if(img==NULL) return -1; cvNamedWindow(szWndName); cvShowImage(szWndName, img); cvWaitKey(0); cvDestroyAllWindows(); cvReleaseImage(&img); return 0; } 【ビルド後にでるエラーメッセージ】 ------ すべてのリビルド開始: プロジェクト: OpenCV, 構成: Debug Win32 ------ TEST02.c C:\Program Files\Microsoft Visual Studio 10.0\VC\include\cstdlib(19): error C2054: 'using' の後に '(' が必要です。 C:\Program Files\Microsoft Visual Studio 10.0\VC\include\cstdlib(19): error C2061: 構文エラー : 識別子 'using' C:\Program Files\Microsoft Visual Studio 10.0\VC\include\cstdlib(19): error C2054: 'using' の後に '(' が必要です。 C:\Program Files\Microsoft Visual Studio 10.0\VC\include\cstdlib(21): error C2061: 構文エラー : 識別子 'using' C:\Program Files\Microsoft Visual Studio 10.0\VC\include\cstdlib(21): error C2061: 構文エラー : 識別子 'abs' C:\Program Files\Microsoft Visual Studio 10.0\VC\include\cstdlib(21): error C2059: 構文エラー : ';' C:\Program Files\Microsoft Visual Studio 10.0\VC\include\cstdlib(21): error C2061: 構文エラー : 識別子 'atexit' C:\Program Files\Microsoft Visual Studio 10.0\VC\include\cstdlib(21): error C2059: 構文エラー : ';' C:\Program Files\Microsoft Visual Studio 10.0\VC\include\cstdlib(22): error C2061: 構文エラー : 識別子 'atof' C:\Program Files\Microsoft Visual Studio 10.0\VC\include\cstdlib(22): error C2059: 構文エラー : ';' C:\Program Files\Microsoft Visual Studio 10.0\VC\include\cstdlib(22): error C2061: 構文エラー : 識別子 'atoi' C:\Program Files\Microsoft Visual Studio 10.0\VC\include\cstdlib(22): error C2059: 構文エラー : ';' C:\Program Files\Microsoft Visual Studio 10.0\VC\include\cstdlib(22): error C2061: 構文エラー : 識別子 'atol' C:\Program Files\Microsoft Visual Studio 10.0\VC\include\cstdlib(22): error C2059: 構文エラー : ';' C:\Program Files\Microsoft Visual Studio 10.0\VC\include\cstdlib(23): error C2061: 構文エラー : 識別子 'bsearch' C:\Program Files\Microsoft Visual Studio 10.0\VC\include\cstdlib(23): error C2059: 構文エラー : ';' C:\Program Files\Microsoft Visual Studio 10.0\VC\include\cstdlib(23): error C2061: 構文エラー : 識別子 'calloc' C:\Program Files\Microsoft Visual Studio 10.0\VC\include\cstdlib(23): error C2059: 構文エラー : ';' C:\Program Files\Microsoft Visual Studio 10.0\VC\include\cstdlib(23): error C2061: 構文エラー : 識別子 'div' C:\Program Files\Microsoft Visual Studio 10.0\VC\include\cstdlib(23): error C2059: 構文エラー : ';' C:\Program Files\Microsoft Visual Studio 10.0\VC\include\cstdlib(24): error C2061: 構文エラー : 識別子 'exit' C:\Program Files\Microsoft Visual Studio 10.0\VC\include\cstdlib(24): error C2059: 構文エラー : ';' C:\Program Files\Microsoft Visual Studio 10.0\VC\include\cstdlib(24): error C2061: 構文エラー : 識別子 'free' C:\Program Files\Microsoft Visual Studio 10.0\VC\include\cstdlib(24): error C2059: 構文エラー : ';' C:\Program Files\Microsoft Visual Studio 10.0\VC\include\cstdlib(24): error C2061: 構文エラー : 識別子 'getenv' C:\Program Files\Microsoft Visual Studio 10.0\VC\include\cstdlib(24): error C2059: 構文エラー : ';' C:\Program Files\Microsoft Visual Studio 10.0\VC\include\cstdlib(25): error C2061: 構文エラー : 識別子 'labs' この後はエラー表記が続きます。

  • Windows7 64bit でOpenCV2.1を動かしたい

    Windows7 64bit でOpenCV2.1を動かしたい Windows7 64bit visualstadio2005 でopencv2.1を動かしたいのですがreleaseだと動くのにdebugだとうまく動きません。 ネットの入門ページを参照にして インクルードファイルに C:\OpenCV2.1\include ライブラリファイルに C:\OpenCV2.1\lib C:\OpenCV2.1\bin を追加しました。 プラットフォームはよくわからなかったのでwin32とx64の両方に入れてみました また、環境変数もインストールの時点できちんと入っていることは確認しました。 また、プロジェクトのプロパティ→リンカ→入力→追加依存のファイルにも 構成がdebugのときに cv210d.lib cxcore210d.lib cvaux210d.lib highgui210d.lib releaseのときに cv210.lib cxcore210.lib cvaux210.lib highgui210.lib としています。 また、コード部分に #include "cv.h"と入力してもエラーが出るので #include <C:\OpenCV2.1\include\opencv\cv.h> とすることで対応している状況です。 どうすればうまく動くようになるでしょうか? もしよろしければ回答お願いします