Clion(CMake工具)中创建父子项目,引入第三方库的方法

Posted xiangjai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Clion(CMake工具)中创建父子项目,引入第三方库的方法相关的知识,希望对你有一定的参考价值。

目录

环境

创建父/外层项目

创建子项目/库项目

创建目录,命名hello_lib

hello_lib目录下创建hello_dll.h hello_dll.cpp CMakeLists.txt文件

在build文件夹下面使用  cmake..  && make  进行编译

创建子项目/主项目

创建目录,命名main

main目录下创建CMakeLists.txt main.cpp文件


环境

C/C++    Clion    Mac

创建父/外层项目

创建外层项目,选择C++Executable,命名20210717

创建子项目/库项目

创建目录,命名hello_lib

hello_lib目录下创建hello_dll.h hello_dll.cpp CMakeLists.txt文件

hello_lib.h

#ifndef INC_20210717_HELLO_DLL_H
#define INC_20210717_HELLO_DLL_H

int add(int a, int b);

#endif //INC_20210717_HELLO_DLL_H

hello_dll.cpp

#include "hello_dll.h"

int add(int a, int b) {
    return (a + b);
}

CMakeLists.txt

cmake_minimum_required(VERSION 3.19)
project(hello_dll)

set(CMAKE_CXX_STANDARD 14)
#增加一个生成一个库文件,就是生成dylib文件,自动生成lib的格式
add_library(hello_dll SHARED hello_dll.cpp)

在build文件夹下面使用  cmake..  && make  进行编译

build文件夹下面使用  cmake..  && make  进行编译,就会生成libhello_dll.dylib

创建子项目/主项目

创建目录,命名main

main目录下创建CMakeLists.txt main.cpp文件

创建include和lib目录,将对应的头文件和动态库文件复制到对应目录

CMakeLists.txt

cmake_minimum_required(VERSION 3.19)
project(main)

set(CMAKE_CXX_STANDARD 14)

#设置头文件路径
set(INC_DIR ./include)
#设置链接库路径
set(LINK_DIR ./lib)

#引入头文件
include_directories(${INC_DIR})
#引入库文件
link_directories(${LINK_DIR})


# 如果想在主项目中添加文件,则在这里添加,如果在子文件夹中,则在子项目中添加
add_executable(main main.cpp)


#将第三方库链接在一起 window-dll mac-dylib
target_link_libraries(main libhello_dll.dylib)

main.cpp


#include <iostream>
#include "stdlib.h"
#include "stdio.h"

#include "include/hello_dll.h"

using namespace std;

int main() {

    int c = add(1, 2);
    cout << "c=" << c << endl;

    return 0;
}

 输出 c=3

参考:https://www.jb51.net/article/206221.htm

以上是关于Clion(CMake工具)中创建父子项目,引入第三方库的方法的主要内容,如果未能解决你的问题,请参考以下文章

关于在Clion中创建解决方案项目与源/头文件的解决方法

在一个 CMake 项目中创建多个 rpm(deb)包的最佳方法是啥?

当我在 CLion 2020.3 上使用远程工具链时,cmake 无法解析本地路径

使用 CMake 构建后,如何在 Visual Studio 中创建项目以使用 OpenMesh?

Android OpenCVVisual Studio 创建支持 OpenCV 库的 CMake 工程 ② ( VS 中创建 CMake 工程 | CMake 工程中配置 OpenCV 头文件 )

如何使用自制软件、cMake 和 cLion 将库添加到 C++ 项目