cmake项目举例 拼搏现实的明天。 2022-09-12 05:53 120阅读 0赞 cmake语法 [CMake学习笔记(二)——CMake语法\_琦小虾的代码世界-CSDN博客\_cmake语法][CMake_CMake_-CSDN_cmake] 项目举例 [CMake学习笔记(三)——以笔者的Robosub竞赛为例\_琦小虾的代码世界-CSDN博客][CMake_Robosub_-CSDN] ![watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBA5pu56ZW_5Y2_5ZWK_size_17_color_FFFFFF_t_70_g_se_x_16][] ① add\_library 将指定的cpp源文件生成库文件(.a, .so),然后添加到工程中去。 ![watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBA5pu56ZW_5Y2_5ZWK_size_13_color_FFFFFF_t_70_g_se_x_16][] ② link\_directories 指定要链接的库文件(.a, .so)的路径,该指令有时候不一定需要。 ![20210922115341391.png][] ③ target\_link\_libraries 将目标文件与库文件(.a, .so)进行链接。 ![watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBA5pu56ZW_5Y2_5ZWK_size_20_color_FFFFFF_t_70_g_se_x_16][] 从根目录向下逐层讲解: ### 1. 根目录/CMakeLists.txt ### 此处根目录为IPCSocket。该目录下的CMakeLists.txt如下: ![watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBA5pu56ZW_5Y2_5ZWK_size_16_color_FFFFFF_t_70_g_se_x_16][]![watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBA5pu56ZW_5Y2_5ZWK_size_20_color_FFFFFF_t_70_g_se_x_16 1][] 下面按照ADD\_SUBDIRECTORY的顺序进行说明。 ### 2. /CustomizeFunctions/CMakeLists.txt ### ![watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBA5pu56ZW_5Y2_5ZWK_size_12_color_FFFFFF_t_70_g_se_x_16][] ![watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBA5pu56ZW_5Y2_5ZWK_size_16_color_FFFFFF_t_70_g_se_x_16 1][] 即进入./GeneralImageProcess, ./SupportFunctions继续寻找CMakeLists.txt。 **(1) /CustomizeFunctions/GeneralImageProcess/CMakeLists.txt** ![watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBA5pu56ZW_5Y2_5ZWK_size_14_color_FFFFFF_t_70_g_se_x_16][] ![watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBA5pu56ZW_5Y2_5ZWK_size_20_color_FFFFFF_t_70_g_se_x_16 2][] ![watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBA5pu56ZW_5Y2_5ZWK_size_20_color_FFFFFF_t_70_g_se_x_16 3][] **(2) /CustomizeFunctions/SupportFunctions/CMakeLists.txt ** ![watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBA5pu56ZW_5Y2_5ZWK_size_15_color_FFFFFF_t_70_g_se_x_16][] ![watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBA5pu56ZW_5Y2_5ZWK_size_17_color_FFFFFF_t_70_g_se_x_16 1][] ### 3. /NCFunctions/CMakeLists.txt ### ![watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBA5pu56ZW_5Y2_5ZWK_size_14_color_FFFFFF_t_70_g_se_x_16 1][] ![watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBA5pu56ZW_5Y2_5ZWK_size_14_color_FFFFFF_t_70_g_se_x_16 2][] 进入`./NCServer ./NCClient ./NCStage`继续寻找CMakeLists.txt文件。 **(1) /NCFunctions/NCStage/CMakeLists.txt** ![watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBA5pu56ZW_5Y2_5ZWK_size_15_color_FFFFFF_t_70_g_se_x_16 1][] ![watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBA5pu56ZW_5Y2_5ZWK_size_20_color_FFFFFF_t_70_g_se_x_16 4][] **(2) /NCFunctions/NCClient/CMakeLists.txt ** ![watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBA5pu56ZW_5Y2_5ZWK_size_15_color_FFFFFF_t_70_g_se_x_16 2][] ![watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBA5pu56ZW_5Y2_5ZWK_size_20_color_FFFFFF_t_70_g_se_x_16 5][] (3) /NCFunctions/NCServer/CMakeLists.txt ![watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBA5pu56ZW_5Y2_5ZWK_size_15_color_FFFFFF_t_70_g_se_x_16 3][] ![watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBA5pu56ZW_5Y2_5ZWK_size_20_color_FFFFFF_t_70_g_se_x_16 6][] **4. /IPCClients/CMakeLists.txt ** ![watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBA5pu56ZW_5Y2_5ZWK_size_13_color_FFFFFF_t_70_g_se_x_16 1][] ![watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBA5pu56ZW_5Y2_5ZWK_size_20_color_FFFFFF_t_70_g_se_x_16 7][] **5. /IPCServer/CMakeLists.txt** ![watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBA5pu56ZW_5Y2_5ZWK_size_12_color_FFFFFF_t_70_g_se_x_16 1][] ![watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBA5pu56ZW_5Y2_5ZWK_size_20_color_FFFFFF_t_70_g_se_x_16 8][] ![watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBA5pu56ZW_5Y2_5ZWK_size_20_color_FFFFFF_t_70_g_se_x_16 9][] [CMake_CMake_-CSDN_cmake]: https://blog.csdn.net/ajianyingxiaoqinghan/article/details/70230902 [CMake_Robosub_-CSDN]: https://blog.csdn.net/ajianyingxiaoqinghan/article/details/70338459 [watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBA5pu56ZW_5Y2_5ZWK_size_17_color_FFFFFF_t_70_g_se_x_16]: /images/20220828/a50f62fc26694a72b07245c3b7807849.png [watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBA5pu56ZW_5Y2_5ZWK_size_13_color_FFFFFF_t_70_g_se_x_16]: /images/20220828/4c65eda33e134471bafb3d6f66ee1833.png [20210922115341391.png]: /images/20220828/e7ee50ab06814f0eb05fafbbc4268844.png [watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBA5pu56ZW_5Y2_5ZWK_size_20_color_FFFFFF_t_70_g_se_x_16]: /images/20220828/0a4491e3e7824b8bae7d53816d6fbbbf.png [watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBA5pu56ZW_5Y2_5ZWK_size_16_color_FFFFFF_t_70_g_se_x_16]: https://img-blog.csdnimg.cn/20210922100852231.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5pu56ZW_5Y2_5ZWK,size_16,color_FFFFFF,t_70,g_se,x_16 [watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBA5pu56ZW_5Y2_5ZWK_size_20_color_FFFFFF_t_70_g_se_x_16 1]: /images/20220828/ff3e0bae1ca04259b5b295761a50d54a.png [watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBA5pu56ZW_5Y2_5ZWK_size_12_color_FFFFFF_t_70_g_se_x_16]: /images/20220828/403cd25272f2433e8e4bf5ad72cf5811.png [watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBA5pu56ZW_5Y2_5ZWK_size_16_color_FFFFFF_t_70_g_se_x_16 1]: /images/20220828/cbf0319da2fe4a9f81c932a1b4a2c4f2.png [watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBA5pu56ZW_5Y2_5ZWK_size_14_color_FFFFFF_t_70_g_se_x_16]: /images/20220828/c357d83b8b494e3e9ca81f5ec7338cdc.png [watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBA5pu56ZW_5Y2_5ZWK_size_20_color_FFFFFF_t_70_g_se_x_16 2]: https://img-blog.csdnimg.cn/20210922103014439.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5pu56ZW_5Y2_5ZWK,size_20,color_FFFFFF,t_70,g_se,x_16 [watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBA5pu56ZW_5Y2_5ZWK_size_20_color_FFFFFF_t_70_g_se_x_16 3]: /images/20220828/222322ad045f4cab81f0a8df1b6d1011.png [watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBA5pu56ZW_5Y2_5ZWK_size_15_color_FFFFFF_t_70_g_se_x_16]: /images/20220828/c9f0ac99a1d34fefb223920080257fd4.png [watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBA5pu56ZW_5Y2_5ZWK_size_17_color_FFFFFF_t_70_g_se_x_16 1]: /images/20220828/78db3cd71e2c43c79865fd8d4e5880a8.png [watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBA5pu56ZW_5Y2_5ZWK_size_14_color_FFFFFF_t_70_g_se_x_16 1]: /images/20220828/a76e038619ce4ac0a7341a2d3d5d3d5f.png [watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBA5pu56ZW_5Y2_5ZWK_size_14_color_FFFFFF_t_70_g_se_x_16 2]: /images/20220828/a992fd6e3a614298bbf65f6ff7c409c6.png [watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBA5pu56ZW_5Y2_5ZWK_size_15_color_FFFFFF_t_70_g_se_x_16 1]: /images/20220828/2577f81b7ea64aa3aaa44440faeb85b2.png [watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBA5pu56ZW_5Y2_5ZWK_size_20_color_FFFFFF_t_70_g_se_x_16 4]: /images/20220828/0162111b040649c4ae4de7b57804662f.png [watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBA5pu56ZW_5Y2_5ZWK_size_15_color_FFFFFF_t_70_g_se_x_16 2]: /images/20220828/c21e65bd4a7f45ed985e978573395851.png [watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBA5pu56ZW_5Y2_5ZWK_size_20_color_FFFFFF_t_70_g_se_x_16 5]: /images/20220828/a62593bbb8c846c3a27971513dd30a25.png [watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBA5pu56ZW_5Y2_5ZWK_size_15_color_FFFFFF_t_70_g_se_x_16 3]: /images/20220828/4ef4ede3cc0d4984bff5d26069fc84b8.png [watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBA5pu56ZW_5Y2_5ZWK_size_20_color_FFFFFF_t_70_g_se_x_16 6]: /images/20220828/9729f4fd83d64998b7bb4b18c356999a.png [watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBA5pu56ZW_5Y2_5ZWK_size_13_color_FFFFFF_t_70_g_se_x_16 1]: /images/20220828/078f7b31bea449958c7db1fe459bef53.png [watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBA5pu56ZW_5Y2_5ZWK_size_20_color_FFFFFF_t_70_g_se_x_16 7]: /images/20220828/357c0cb84f0e4424a4690cc59a446c0f.png [watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBA5pu56ZW_5Y2_5ZWK_size_12_color_FFFFFF_t_70_g_se_x_16 1]: /images/20220828/81bc6e521a6148d99d3b4f16a6e8703e.png [watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBA5pu56ZW_5Y2_5ZWK_size_20_color_FFFFFF_t_70_g_se_x_16 8]: /images/20220828/2c26ad90b5b141c8bdd146d8667231b1.png [watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBA5pu56ZW_5Y2_5ZWK_size_20_color_FFFFFF_t_70_g_se_x_16 9]: /images/20220828/6e0f7fdcf0024fdf8351d75a009421d4.png
还没有评论,来说两句吧...