質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Objective-C

Objective-Cはオブジェクト指向型のプログラミング言語のひとつです。C言語をベースにSmalltalkが取り入れられています。

C++11

C++11は2011年に容認されたC++のISO標準です。以前のC++03に代わるもので、中枢の言語の変更・修正、標準ライブラリの拡張・改善を加えたものです。

CMake

CMakeはクロスプラットフォームで作動するオープンソースのビルドシステムです。コマンドライン又は組み込まれた開発環境で使うことができる元のmakefileとプロジェクトファイルを生成します。

Q&A

0回答

711閲覧

CMakeでエラーが生じている、Boostを見つけることができない

nominominomi

総合スコア0

Objective-C

Objective-Cはオブジェクト指向型のプログラミング言語のひとつです。C言語をベースにSmalltalkが取り入れられています。

C++11

C++11は2011年に容認されたC++のISO標準です。以前のC++03に代わるもので、中枢の言語の変更・修正、標準ライブラリの拡張・改善を加えたものです。

CMake

CMakeはクロスプラットフォームで作動するオープンソースのビルドシステムです。コマンドライン又は組み込まれた開発環境で使うことができる元のmakefileとプロジェクトファイルを生成します。

0グッド

0クリップ

投稿2022/06/28 06:41

編集2022/06/30 08:05
  • リスト番号リスト前提・実現したいこと

CMakeのエラーをなくすか、CMakeの内容を手動で設定したい

  • リスト番号リスト発生している問題・エラーメッセージ
CMake Error at ccs_cli/CMakeLists.txt:13 (find_package): By not providing "FindBoost1.79.0.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "Boost1.79.0", but CMake did not find one. Could not find a package configuration file provided by "Boost1.79.0" with any of the following names: Boost1.79.0Config.cmake boost1.79.0-config.cmake Add the installation prefix of "Boost1.79.0" to CMAKE_PREFIX_PATH or set "Boost1.79.0_DIR" to a directory containing one of the above files. If "Boost1.79.0" provides a separate development package or SDK, be sure it has been installed. superpixel_benchmark C:\Users\aaaaa\source\repos\ccs_cli\ccs_cli/CMakeLists.txt
  • リスト該当のソースコード

cpp

1#include <fstream> 2#include <opencv2/opencv.hpp> 3#include <boost/filesystem.hpp> 4#include <boost/program_options.hpp> 5#include <boost/timer.hpp> 6#include "ccs_opencv.h" 7#include "io_util.h" 8#include "superpixel_tools.h" 9#include "visualization.h" 10 11int main(int argc, const char** argv) { 12 13 boost::program_options::options_description desc("Allowed options"); 14 desc.add_options() 15 ("help,h", "produce help message") 16 ("input,i", boost::program_options::value<std::string>(), "the folder to process") 17 ("superpixels,s", boost::program_options::value<int>()->default_value(400), "number of superpixels") 18 ("compactness,c", boost::program_options::value<int>()->default_value(500), "compactness weight") 19 ("iterations,t", boost::program_options::value<int>()->default_value(20), "number of iterations to perform") 20 ("color-space,r", boost::program_options::value<int>()->default_value(0), "0 = RGB, >0 = Lab") 21 ("csv,o", boost::program_options::value<std::string>()->default_value(""), "save segmentation as CSV file") 22 ("vis,v", boost::program_options::value<std::string>()->default_value(""), "visualize contours") 23 ("prefix,x", boost::program_options::value<std::string>()->default_value(""), "output file prefix") 24 ("wordy,w", "verbose/wordy/debug"); 25 26 boost::program_options::positional_options_description positionals; 27 positionals.add("input", 1); 28 29 boost::program_options::variables_map parameters; 30 boost::program_options::store(boost::program_options::command_line_parser(argc, argv).options(desc).positional(positionals).run(), parameters); 31 boost::program_options::notify(parameters); 32 33 if (parameters.find("help") != parameters.end()) { 34 std::cout << desc << std::endl; 35 return 1; 36 } 37 38 boost::filesystem::path output_dir(parameters["csv"].as<std::string>()); 39 if (!output_dir.empty()) { 40 if (!boost::filesystem::is_directory(output_dir)) { 41 boost::filesystem::create_directories(output_dir); 42 } 43 } 44 45 boost::filesystem::path vis_dir(parameters["vis"].as<std::string>()); 46 if (!vis_dir.empty()) { 47 if (!boost::filesystem::is_directory(vis_dir)) { 48 boost::filesystem::create_directories(vis_dir); 49 } 50 } 51 52 boost::filesystem::path input_dir(parameters["input"].as<std::string>()); 53 if (!boost::filesystem::is_directory(input_dir)) { 54 std::cout << "Image directory not found ..." << std::endl; 55 return 1; 56 } 57 58 std::string prefix = parameters["prefix"].as<std::string>(); 59 60 bool wordy = false; 61 if (parameters.find("wordy") != parameters.end()) { 62 wordy = true; 63 } 64 65 int superpixels = parameters["superpixels"].as<int>(); 66 int compactness = parameters["compactness"].as<int>(); 67 int iterations = parameters["iterations"].as<int>(); 68 int color_space_int = parameters["color-space"].as<int>(); 69 70 bool lab = false; 71 if (color_space_int > 0) { 72 lab = true; 73 } 74 75 std::multimap<std::string, boost::filesystem::path> images; 76 std::vector<std::string> extensions; 77 IOUtil::getImageExtensions(extensions); 78 IOUtil::readDirectory(input_dir, extensions, images); 79 80 float total = 0; 81 for (std::multimap<std::string, boost::filesystem::path>::iterator it = images.begin(); 82 it != images.end(); ++it) { 83 84 cv::Mat image = cv::imread(it->first); 85 cv::Mat labels; 86 87 int region_size = SuperpixelTools::computeRegionSizeFromSuperpixels(image, 88 superpixels); 89 90 boost::timer timer; 91 CCS_OpenCV::computeSuperpixels(image, region_size, 92 iterations, compactness, lab, labels); 93 float elapsed = timer.elapsed(); 94 total += elapsed; 95 96 int unconnected_components = SuperpixelTools::relabelConnectedSuperpixels(labels); 97 int merged_components = SuperpixelTools::enforceMinimumSuperpixelSizeUpTo(image, labels, unconnected_components); 98 merged_components += SuperpixelTools::enforceMinimumSuperpixelSizeUpTo(image, labels, unconnected_components); 99 100 if (wordy) { 101 std::cout << SuperpixelTools::countSuperpixels(labels) << " superpixels for " << it->first 102 << " (" << unconnected_components << " not connected; " 103 << merged_components << " merged; " 104 << elapsed << ")." << std::endl; 105 } 106 107 if (!output_dir.empty()) { 108 boost::filesystem::path csv_file(output_dir 109 / boost::filesystem::path(prefix + it->second.stem().string() + ".csv")); 110 IOUtil::writeMatCSV<int>(csv_file, labels); 111 } 112 113 if (!vis_dir.empty()) { 114 boost::filesystem::path contours_file(vis_dir 115 / boost::filesystem::path(prefix + it->second.stem().string() + ".png")); 116 cv::Mat image_contours; 117 Visualization::drawContours(image, labels, image_contours); 118 cv::imwrite(contours_file.string(), image_contours); 119 } 120 } 121 122 if (wordy) { 123 std::cout << "Average time: " << total / images.size() << "." << std::endl; 124 } 125 126 if (!output_dir.empty()) { 127 std::ofstream runtime_file(output_dir.string() + "/" + prefix + "runtime.txt", 128 std::ofstream::out | std::ofstream::app); 129 130 runtime_file << total / images.size() << "\n"; 131 runtime_file.close(); 132 } 133 134 return 0; 135}

CMakeLists.txt

1cmake_minimum_required (VERSION 2.8) 2project (superpixel_benchmark) 3 4find_package(OpenCV REQUIRED) 5find_package(Boost COMPONENTS system filesystem program_options REQUIRED) 6 7include_directories(../lib_eval/ 8 ../lib_ccs/ 9 ${OpenCV_INCLUDE_DIRS} 10 ${Boost_INCLUDE_DIRS} 11) 12add_executable(ccs_cli main.cpp) 13target_link_libraries(ccs_cli 14 eval 15 ccs 16 ${Boost_LIBRARIES} 17 ${OpenCV_LIBS} 18) 19
  • リスト自分で調べたことや試したこと

CMakeLists.txtの中身を変更

  1. cmake_minimum_required (VERSION 2.8)→cmake_minimum_required (VERSION 3.8)

  2. find_package(Boost COMPONENTS system filesystem program_options REQUIRED)→find_package(Boost1.79.0 COMPONENTS system filesystem program_options REQUIRED)

  3. 以下のサイトを参考にライブラリファイル作成

https://techblog.gmo-ap.jp/2022/01/11/tried_visual_studio_2022/

  • リスト使っているツールのバージョンなど補足情報
  1. visualstudio 2022
  2. boost_1_79_0(Cドライブ下)
  3. opencv(Cドライブ下)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問