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

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值