- OpenCV By Example
- Prateek Joshi David Millán Escrivá Vinícius Godoy
- 252字
- 2021-07-23 14:41:59
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.
- Docker技術入門與實戰(第3版)
- NLTK基礎教程:用NLTK和Python庫構建機器學習應用
- Python Geospatial Development(Second Edition)
- Koa開發:入門、進階與實戰
- Expert Android Programming
- Getting Started with SQL Server 2012 Cube Development
- Scientific Computing with Scala
- 從0到1:Python數據分析
- Go并發編程實戰
- 圖數據庫實戰
- Building Machine Learning Systems with Python(Second Edition)
- Odoo 10 Implementation Cookbook
- Mastering SciPy
- Mastering Embedded Linux Programming
- 百萬在線:大型游戲服務端開發