CMakeLists.txt编写

一、新建一个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”运行程序,若出现下图,则表示成功。


猜你喜欢

转载自blog.csdn.net/Eppley/article/details/80729613