CMakeLists.txt編寫
阿新 • • 發佈:2019-01-14
一、新建一個src資料夾,裡面放入hello.c,hello.h,,main.c,CMakeLists.txt這四個檔案,這四個資料夾裡面的內容分別如下:
1.hello.c
#include "hello.h"
void hello_func(void) {
printf("Hello World!\n");
return;
}
2.hello.h
#ifndef HELLO_H_
#define HELLO_H_ (1)
#include <stdio.h>
void hello_func(void);
#endif
3.main.c
#include "hello.h" int main(void) { hello_func(); return 0; }
4.CMakeLists.txt
cmake_minimum_required(VERSION 2.8.4) project(hellolib) set(LIBHELLO_SRC hello.c ) add_library(hello_dynamic SHARED ${LIBHELLO_SRC}) add_library(hello_static STATIC ${LIBHELLO_SRC}) set_target_properties(hello_dynamic PROPERTIES OUTPUT_NAME "hello") set_target_properties(hello_dynamic PROPERTIES VERSION 1.2 SOVERSION 1) set_target_properties(hello_static PROPERTIES OUTPUT_NAME "AIECG") set(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib) install(TARGETS hello_dynamic LIBRARY DESTINATION lib ARCHIVE DESTINATION lib) install(FILES hello.h DESTINATION include/hello) # app entry add_executable(AIECG main.c ) set_target_properties(AIECG PROPERTIES OUTPUT_NAME "AIECG" )
二、開啟CMake,載入src資料夾路徑C:/CppWorkspace/opencv_work/SVN/2/src,在src同級目錄下新建一個bin資料夾,載入bin資料夾路徑C:/CppWorkspace/opencv_work/SVN/2/bin,然後點選“Configure”,再點選“Generate”,直到沒有出現任何錯誤。
三、此時你開啟bin資料夾,會發現多了許多檔案,然後我們雙擊開啟hellolib.sln。
四、開啟工程檔案後,我們右擊“AIECG”,選擇“設為啟動專案”,選擇“Release”,然後再“生成解決方案”。
五、此時會出現一個錯誤
解決方案:右擊“AIECG”工程,選擇“屬性”->“連結器”->“輸入”->“附加依賴項”,在“附加依賴項”裡面新增“C:\CppWorkspace\opencv_work\bin\lib\Release\AIECG.lib”,然後再次“生成解決方案”。
此時,你會發現已經沒有錯誤了,然後按“Ctrl+F5”執行程式,若出現下圖,則表示成功。