質問: c++とopencvにより画像を生成するプログラムを書こうとしています. 環境は以下の通りです. opencvのバージョン:opencv 3.1.0 visual studio 2019 windows 10 c++ ひとまず,opencvの追加ライブラリとインクルードディレクトリを設定して,helloworldのプログラムを動かそうとしています. ソースコードは以下の通りです. ``` // TymmsMane.cpp : このファイルには 'main' 関数が含まれています。プログラム実行の開始と終了がそこで行われます。 // #pragma once #define CV_EXT "d.lib" #pragma comment(lib, "opencv_world310" CV_EXT) #include #include int main() { std::cout << "Hello World!\n"; } // プログラムの実行: Ctrl + F5 または [デバッグ] > [デバッグなしで開始] メニュー // プログラムのデバッグ: F5 または [デバッグ] > [デバッグの開始] メニュー // 作業を開始するためのヒント: // 1. ソリューション エクスプローラー ウィンドウを使用してファイルを追加/管理します // 2. チーム エクスプローラー ウィンドウを使用してソース管理に接続します // 3. 出力ウィンドウを使用して、ビルド出力とその他のメッセージを表示します // 4. エラー一覧ウィンドウを使用してエラーを表示します // 5. [プロジェクト] > [新しい項目の追加] と移動して新しいコード ファイルを作成するか、[プロジェクト] > [既存の項目の追加] と移動して既存のコード ファイルをプロジェクトに追加します // 6. 後ほどこのプロジェクトを再び開く場合、[ファイル] > [開く] > [プロジェクト] と移動して .sln ファイルを選択します ``` 一方,追加のインクルードディレクトリは "C:\opencv\build\include" "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include" 追加のライブラリディレクトリは "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.22.27905\lib\x64" "C:\opencv\build\x64\vc14\lib" "C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Lib\x64" "C:\Program Files (x86)\Windows Kits\10\Lib\10.0.18362.0\ucrt\x64" と設定しています. このとき, ビルドしようとすると "LNK1104: ファイル 'opencv_core300d.lib' を開くことができません。"というエラーが表示されています. "C:\opencv\build\x64\vc14\lib"のディレクトリ内に"opencv_world310.lib"というライブラリファイルが存在しており,ソースコードでもそちらを開くように指定しているはずなのですが,なぜここで別のライブラリファイルを開こうとしているのかがわかりません. (何回かopencvのバージョンを変えたので,以前のバージョンのときの設定が残っているのでしょうか?) この場合,どうすれば意図と異なるライブラリファイルを開こうとすることを回避できるのでしょうか? 回答お待ちしております.
回答: 偶々以前にダウンロードした、OpenCV 3.1 があったので、インストールして同梱の x64 のライブラリを使って Visual Studio 2019 でビルド/実行してみました。 結論から言いますと、問題なくビルド/実行できました。 以下大雑把な手順です。 1. C:\opencv に OpenCV 3.1 をインストール。 2. プロジェクトのプロパティを設定 -追加のインクルード ディレクトリに "C:\opencv\build\include" を追加 -追加のライブラリ ディレクトリに "C:\opencv\build\x64\vc14\lib" を追加 3. ソースを追加 4. ビルド 5. コマンドプロンプトで PATH を設定して実行 プロジェクトは以前つくったコンソールアプリケーションの使い回しです。 多分、空のプロジェクトで作ったものです。 Windows 全体の PATH は変えたくなかったので、コマンドプロンプトのみで PATH を変えて実行しました。 プロジェクトを新規に作成しては如何でしょうか。 プロジェクトの設定に問題がある場合はそれで治るかもしれません。