
<環境>
Windows10 64bit
visual studio 2015
CUDA nvcc
opencv
GPU高速画像処理という本を参考にコンパイルしようとしているのですが構文に関してのエラーがでます。
参考書に付属されているCDROMに入っていたプログラムをそのままコピペして貼り付け、ヘッダファイルに関してのエラーもないように見えるのでエラーの原因は構文ということはなんとなくわかるのですが、
プログラムが古いせいでエラーが出ているのかもしれないとも思っています。
初版が2013年のものなのでエラーが出てしまうのも仕方ないのですがせっかく買ったのでエラーを解決したいと思います。ただ、答えを教えられても私の勉強にならないのでヒントやアドバイスなどを頂ければと思います。
コンパイルしようとしたプログラムはこちらです。GPUのプログラムでありますが拡張子はcuではなく参考書ではcppと書いてありましたので、cuではなくcppとしました。
またデバッグではなくリリースで、かつx64でコンパイルしました
//
// dispGrayscale [動画ファイル名]
//
// (c)Copyright Spacesoft corp., 2013 rights reserved.
// Hiro KITAYAMA
//--------------------------------------------------------------------------
#include <opencv2/opencv.hpp>
#include <opencv2/gpu/gpu.hpp>
#include <ocvlibs.h>
using namespace cv;
//--------------------------------------------------------------------------
//main
int
main(int argc, char* argv[])
{
try
{
int wait = 1;
int numOfGpu = gpu::getCudaEnabledDeviceCount();
if (numOfGpu <= 0)
throw ("no Gpu available.");
VideoCapture capture;
if (argc == 2)
{
capture = VideoCapture(argv[1]);
wait = 33;
}
else
capture = VideoCapture(0);
const char* wName = "dst";
Mat src, dst;
gpu::GpuMat gpuSrc, gpuDst;
namedWindow(wName, CV_WINDOW_AUTOSIZE);
while (true)
{
capture >> src;
if (src.empty()) break;
gpuSrc.upload(src);
gpu::cvtColor(gpuSrc, gpuDst, COLOR_RGB2GRAY);
gpuDst.download(dst);
imshow(wName, dst);
if (waitKey(wait) >= 0) break;
}
}
catch (const char* str)
{
std::cout << str << std::endl;
}
catch (const cv::Exception* ex)
{
std::cout << "Error: " << ex->what() << std::endl;
}
return 0;
}
ヘッダファイルocvlibs.hは本に付属された特有のもののようなのでこちらに載せます。
//--------------------------------------------------------------------------
#ifdef _DEBUG //Debugモードの場合
#pragma comment(lib,"opencv_calib3d246d.lib")
#pragma comment(lib,"opencv_core246d.lib")
#pragma comment(lib,"opencv_contrib246d.lib")
#pragma comment(lib,"opencv_features2d246d.lib")
#pragma comment(lib,"opencv_flann246d.lib")
#pragma comment(lib,"opencv_gpu246d.lib")
#pragma comment(lib,"opencv_haartraining_engined.lib")
#pragma comment(lib,"opencv_highgui246d.lib")
#pragma comment(lib,"opencv_imgproc246d.lib")
#pragma comment(lib,"opencv_legacy246d.lib")
#pragma comment(lib,"opencv_ml246d.lib")
#pragma comment(lib,"opencv_objdetect246d.lib")
#pragma comment(lib,"opencv_ts246d.lib")
#pragma comment(lib,"opencv_video246d.lib")
#else //Releaseモードの場合
#pragma comment(lib,"opencv_calib3d246.lib")
#pragma comment(lib,"opencv_core246.lib")
#pragma comment(lib,"opencv_contrib246.lib")
#pragma comment(lib,"opencv_features2d246.lib")
#pragma comment(lib,"opencv_flann246.lib")
#pragma comment(lib,"opencv_gpu246.lib")
#pragma comment(lib,"opencv_haartraining_engine.lib")
#pragma comment(lib,"opencv_highgui246.lib")
#pragma comment(lib,"opencv_imgproc246.lib")
#pragma comment(lib,"opencv_legacy246.lib")
#pragma comment(lib,"opencv_ml246.lib")
#pragma comment(lib,"opencv_objdetect246.lib")
#pragma comment(lib,"opencv_ts246.lib")
#pragma comment(lib,"opencv_video246.lib")
#endif
visual studioでのエラーです。
https://pastebin.com/bsWfhkJC
余談ではありますがコマンドプロンプトの方でnvccを用いて同じように行ったところほぼ同じエラーが出ました。
コマンドプロンプトでnvccのコマンドでのエラーはこちらです。
https://pastebin.com/T9A8w9Ur
No.1ベストアンサー
- 回答日時:
このサイトでも質問に画像を貼る事ができます。
ただし500×500pixを超える場合は縮小して表示されます。
他のサイトへの誘導ととられないよう可能な限りこのサイト内で完結させるようにしましょう。
なお、補足にも画像を貼る事ができますので、
本文に1
補足1つに付き1
補足は全部で10まで
ということで、最大11枚の画像を貼れます。
あと・・・エラーは画像を見てください・・・では不親切な質問ですよね。
エラーメッセージくらいは質問文に記述するようにしましょう。
・・・
てことでリンクは踏んでない。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) python flask から fastapiへの移行時のエラー対処 1 2023/02/05 12:26
- Perl Perl の外部モジュールの利用方法 3 2022/07/10 18:34
- その他(プログラミング・Web制作) python 2 2022/12/23 09:06
- Ruby 教えてください 2 2023/01/04 17:50
- UNIX・Linux AWSのEC2のZabbixユーザーでawscliコマンドが実行できない状態を解決する 1 2022/12/06 22:17
- PostgreSQL PostgreSQLで"pg_dumpall -f data.sql"を使ってバックアップしたデータ 2 2022/09/19 08:14
- Ruby Ruby / passenger のインストールについて 1 2023/01/30 18:31
- C言語・C++・C# ExcelCS 1 2023/01/27 19:47
- オープンソース Vue+Laravelのデザインテンプレートのサンプルが起動できない 1 2022/05/18 21:52
- PHP jpgraphで表示されない 2 2022/10/22 09:12
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【VS2008 C++】2つのプロジェ...
-
VS2010にて、依存関係とビルド順
-
ライブラリのリンクについて
-
スタティックリンクライブラリ...
-
インポートライブラリ(.lib)フ...
-
VisualStudio の規定値が消滅した
-
error LNK2019: 未解決の外部シ...
-
Visual Windows for BC++の設定...
-
VC++でビルド時の、リンク警告 ...
-
静的/動的リンクライブラリにつ...
-
VB2008でのDLL作成方法について
-
C++Builder リンカエラーとは?
-
Visual Studio 2022の『#define...
-
exeファイルはどのdllを参照す...
-
lvwReport/エラー/プロジェクト...
-
fatal error LNK1104: ファイル...
-
C言語のPathFileExistsについて
-
WindowsにおけるPostgreSQL+C言...
-
OpenSSLの共有ライブラリ(libcr...
-
python エラー
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
スタティックリンクライブラリ...
-
スタティックライブラリ関係の...
-
C++Builder リンカエラーとは?
-
visual studio community2017 O...
-
【VS2008 C++】2つのプロジェ...
-
fatal error LNK1104: ファイル...
-
「MFCを使用しない」から「MFC...
-
#pragma commentの相対パス指定
-
静的/動的リンクライブラリにつ...
-
C/C++の.libについて教えてくだ...
-
VS2010にて、依存関係とビルド順
-
C++によるPostgreSQLの接続
-
WindowsにおけるPostgreSQL+C言...
-
'stdafx.h'のエラーに関して
-
C言語のPathFileExistsについて
-
eclipse+MinGWの環境で外部ライ...
-
VC++でビルド時の、リンク警告 ...
-
exeファイルはどのdllを参照す...
-
error LNK2001: 外部シンボル "...
-
#include <winreg.h>をインクル...
おすすめ情報