O le mea muamua e tatau ona tatou faia e ausia ai la tatou sini maualuga o le vaevae lea o le polokalama tatou te atiina ae i le lautele, poloka vavae ese e tutusa mai le vaaiga a le tagata faʻaoga.
I le vaega muamua, o sea poloka masani na faʻamatalaina - o se galuega faʻatasi ma se faletusi ulutala. Se'i o tatou fa'aopoopo se faletusi tu'ufa'atasi i la tatou galuega.
Ina ia faia lenei mea, seʻi o tatou ave ese le faʻatinoga o le galuega myfunc i se tulaga ese .cpp-faila:
Ona matou faʻamalamalamaina lea o le faletusi e tuʻufaʻatasia (myfeature), lea o le a aofia ai mea na maua i le laasaga muamua .cpp- faila. O le faletusi fou e manino lava e manaʻomia ai ulutala o loʻo i ai, ma ina ia mafai ona tuʻuina atu lenei mea, e mafai ma e tatau ona noatia i le faʻamoemoe o loʻo i ai. mylib. E le gata i lea, o le fesoʻotaʻiga i le va oi latou e faʻasalalau, o lona uiga o mea uma e fesoʻotaʻi i ai le faʻamoemoe myfeature, o le a otometi lava ona maua le uta ma le sini mylib (sili atu e uiga i metotia lalaga).
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 108045c..0de77b8 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -64,6 +64,17 @@ target_compile_features(mylib INTERFACE cxx_std_17)
add_library(Mylib::mylib ALIAS mylib)
+###################################################################################################
+##
+## Компилируемая библиотека
+##
+###################################################################################################
+
+add_library(myfeature src/mylib/myfeature.cpp)
+target_link_libraries(myfeature PUBLIC mylib)
+
+add_library(Mylib::myfeature ALIAS myfeature)
+
Le isi, matou te mautinoa o loʻo faʻapipiʻi foi le faletusi fou i luga o le polokalama:
E tatau ona maitauina mo le faʻamoemoe myfeature, ae mo mylib na faia ai se igoa e iai se prefix Mylib::. O le mea lava lea e tasi e tusia mo faʻamoemoega e lua pe a auina atu i fafo mo le faʻapipiʻiina i luga o le faiga. Ole mea lea e mafai ai ona galue tutusa ma sini mo soʻo se mea faiga fa'amau.
A maeʻa lenei mea, pau lava le mea o loʻo totoe o le faʻafesoʻotaʻi o suʻega iunite ma le faletusi fou (function myfunc aveese mai le ulutala, o lea e tatau ona e faʻafesoʻotaʻi):
Ulutala (Mylib::mylib) i le taimi nei e te le manaʻomia le faʻafesoʻotaʻi ese, aua, e pei ona taʻua muamua, e otometi lava ona fesoʻotaʻi ma le faletusi (Mylib::myfeature).
Ma seʻi o tatou faʻaopoopoina ni faʻamatalaga se lua e faʻamautinoa ai fua faʻatatau e faʻatatau i le faletusi faatoa taunuu mai:
E mafai ona e fa'aopoopo nisi faletusi, executables, etc. E le afaina pe o le a tonu le fesoʻotaʻiga o le tasi i le isi i totonu o le poloketi. Pau lava le mea taua o faʻamoemoega o le atinaʻe o la tatou module, o lona uiga, latou te pipii i fafo.
O lea ua i ai a matou poloka poloka masani, ma e mafai ona tatou puleaina i latou: faʻapipiʻi i totonu o se fausaga o soʻo se lavelave, faʻapipiʻi i totonu o se faiga poʻo le fesoʻotaʻi faʻatasi i totonu o se faʻapotopotoga e tasi.
Fa'apipi'i i totonu o le faiga
O se tasi o filifiliga mo le faʻaogaina o le module o le faʻapipiʻiina lea o la matou module i totonu o le polokalama.
A maeʻa lena, e fesoʻotaʻi i soʻo se isi lava poloketi e faʻaaoga ai le poloaiga find_package.
find_package(Mylib 1.0 REQUIRED)
So'oga o se submodule
O le isi filifiliga o le faʻafesoʻotaʻi lea o le faila ma la matou poloketi i se isi poloketi o se submodule e faʻaaoga ai le poloaiga add_subdirectory.
Faaaoga
E eseese auala e fusifusia ai, ae o le taunuuga e tutusa. I tulaga uma e lua, o le a maua sini i le poloketi e faʻaaoga ai la tatou module Mylib::myfeature и Mylib::mylib, lea e mafai ona faʻaaogaina, mo se faʻataʻitaʻiga, pei o lenei:
Aemaise lava i la matou tulaga, o le faletusi Mylib::myfeature e mana'omia ona feso'ota'i pe a mana'omia ona feso'ota'i ma le faletusi libmyfeature. Afai e lava ulutala, e aoga le faʻaaogaina o le faletusi Mylib::mylib.
O sini CMake e mafai ona taufaasese, mo se faʻataʻitaʻiga, naʻo le faʻamoemoe e tuʻuina atu nisi o meatotino, faʻalagolago, ma isi. I le taimi lava e tasi, o le galulue faatasi ma i latou e tupu i le auala lava e tasi.