官术网_书友最值得收藏!

Creating a library

CMake allows you to create libraries, which are indeed used by the OpenCV build system. Factorizing the shared code among multiple applications is a common and useful practice in software development. In big applications or when the common code is shared in multiple applications, this practice is very useful.

In this case, we do not create a binary executable; instead, we create a compiled file that includes all the functions, classes, and so on, developed. We can then share this library file with the other applications without sharing our source code.

CMake includes the add_library function for this purpose:

# Create our hello library
add_library(Hello hello.cpp hello.h)

# Create our application that uses our new library
add_executable(executable main.cpp)

# Link our executable with the new library
target_link_libraries( executable Hello )

The lines starting with # add comments and are ignored by CMake.

The add_library(Hello hello.cpp hello.h) command defines our new library called, where Hello is the library name and hello.cpp, hello.h are the source files. We add the header file to allow IDEs such as Visual Studio to link to the header files.

This line will generate a shared file (So for OS X and Unix or .dll for Windows) or a static library (A for OS X and Unix or .dll for Windows), depending on our operating system or if it is a dynamic or static library.

target_link_libraries( executable Hello) is the function that links our executable to the desired library; in our case, it's the Hello library.

主站蜘蛛池模板: 鞍山市| 徐州市| 长子县| 岐山县| 呼和浩特市| 夏津县| 紫阳县| 孟津县| 永和县| 潮安县| 东丰县| 衡水市| 岳西县| 梓潼县| 新河县| 固镇县| 天镇县| 平安县| 朝阳市| 聊城市| 阳原县| 奈曼旗| 乌拉特后旗| 岚皋县| 牡丹江市| 潞西市| 静安区| 鄂托克前旗| 广丰县| 监利县| 乌鲁木齐市| 固原市| 柳河县| 灵石县| 嵩明县| 五华县| 汉川市| 莱州市| 依兰县| 石城县| 绥阳县|