文件結構如下: —bin —lib —include ——Multiply.h —src ——Multiply. cpp ——main.cpp —CMakeLists.txt
—include ——Multiply.h的文件代碼如下:
#ifndef _Multiply_H_#define _Multiply_H_class Multiply{public: Multiply(); ~Multiply(); int multiply(int a, int b);};#endif—src ——Multiply.cpp的文件代碼如下:
#include"Multiply.h"Multiply::Multiply(){ ;}Multiply::~Multiply(){ ;}int Multiply::multiply(int a, int b){ return a*b;}—src ——main.cpp的文件代碼如下:
#include<iostream>#include<opencv2/opencv.hpp>#include"Multiply.h"using namespace std;int main(){ int a,b; cin>>a>>b; Multiply mul; cout<<mul.multiply(a,b)<<endl; cout<<"Start OpenCV"<<endl; cv::Mat img1; img1=cv::imread("./src/main_page.png"); if(img1.data==NULL) { cout<<"Error"<<endl; return -1; } cv::namedWindow("source_image", CV_WINDOW_NORMAL); cv::imshow("source_image", img1); cv::waitKey(0); return 0;}—src ——CMakeLists.txt的文件代碼編寫如下:
# 增加opencv的依賴find_package(OpenCV REQUIRED)# 添加opencv的包含目錄include_directories(${OpenCV_INCLUDE_DIRS})# 查找當前目錄下的所有源文件,并將名稱保存到DIR_SRCS變量aux_source_directory(. DIR_SRCS)# 指定生成的目標add_executable(Demo ${DIR_SRCS})# 鏈接OpenCV庫target_link_libraries(Demo ${OpenCV_LIBS})—CMakeLists.txt的代碼編寫如下:
# cmake最低版本要求cmake_minimum_required (VERSION 2.8)# 項目信息PRoject(Demo4)# 設定可執行二進制文件的目錄set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)# 設定編譯得到的庫文件目錄set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)# 將庫文件目錄作為連接的目錄link_directories(${PROJECT_SOURCE_DIR}/lib)# 設定頭文件目錄include_directories(${PROJECT_SOURCE_DIR}/include)# 添加src目錄作為繼續構建add_subdirectory(${PROJECT_SOURCE_DIR}/src)新聞熱點
疑難解答