yanhy的学习记录匣 - clion https://yanhy.top/index.php/search/clion/ zh-CN 探索知识的宝箱,记录成长的脚步。欢迎来访Yanhy的博客站,在这里,每一页都是对知识无尽好奇的见证,每个故事都是学习旅程中的珍贵篇章,一起激发灵感,分享进步 Thu, 28 Jul 2022 01:20:00 +0800 Thu, 28 Jul 2022 01:20:00 +0800 CLion使用Visual Studio2022编译器环境 https://yanhy.top/index.php/archives/261/ https://yanhy.top/index.php/archives/261/ Thu, 28 Jul 2022 01:20:00 +0800 yanhy2000

如题,刚接触CLion,要编译一个小项目,需要引入外部的头文件和静态库.lib,奈何查了半天发现MinGW64不支持.lib库,只能用.a或者.dll,因此准备添加个VS2022编译器备用...

添加VS2022编译器

打开CLion并进入设置

选择自定义-所有设置,即可打开设置页面

t1.png

新增工具链

选择 构建、执行、部署 - 工具链 ,点左上角的加号新增编译器,选择Visual studio,然后指定电脑内安装的路径(2022社区版要选到...Microsoft Visual Studio2022Community),其他选项默认即可,点击应用

t2.png

添加VS2022调试环境

添加配置文件

在前面的界面下,点击左侧CMake,点击左上角加号添加配置文件,添加后默认会显示为Release,手动重命名并将构建类型更换为Debug,将工具链修改为Visual Studio(也可以将下面MinGW也重命名一下便于辨认),然后点击确定即可。

t3.png

新建工程测试

新建一个c++可执行文件,指定存放位置后点击创建

t4.png

打开工程后,可以看到左侧工程列表内多了一个配置文件,并且可以手动在右上角切换Debug配置文件,这里默认设置为VS2022为默认配置,点右上角的运行按钮即可编译运行工程

t.png

]]>
0 https://yanhy.top/index.php/archives/261/#comments https://yanhy.top/index.php/feed/search/clion/
CLion编译C++动态链接库时引入外部静态库 https://yanhy.top/index.php/archives/260/ https://yanhy.top/index.php/archives/260/ Thu, 28 Jul 2022 01:17:00 +0800 yanhy2000

简单记录一下用CLion编译C++动态链接库时引入外部静态库遇到的问题,查了很久的cMakeList.txt文件用法,终于把外部的头文件和静态库.lib一起编译了进来...(刚接触CLion,MinGW用不惯,给换成了VS2022编译器环境)

创建动态链接库

选择C++库,指定位置后,库类型设置为shared(本次演示使用动态链接库而非静态库),点击创建工程

a1.png

编写代码

示例代码:
library.cpp

#include <iostream>
#include "plugin.h"
#include <unordered_map>

cspLogger logger("eoe");

void func(std::unordered_map<std::string, std::string> data){
    std::cout<<"data-size:"<<data.size()<<std::endl;
}
void PluginInit(){
    std::cout<<"test_plugin loaded!"<<std::endl;
    logger.info("test_plugin loaded!");
    SetListener(EventCode::onServerStart,func);
}

代码部分为某项目半成品,无参考价值,仅示例

引用外部依赖并编译

文件导入

手动将目标SDK文件夹中的head、lib文件夹放到项目根目录

a2.png

编辑CMakeLists.txt

主要修改:5-7行

cmake_minimum_required(VERSION 3.22)
project(test_1)
set(CMAKE_CXX_STANDARD 14)

include_directories("Head")#引入外部头文件路径
link_directories("Lib")#引入外部依赖库路径
link_libraries(a)#引入依赖文件名
add_library(test_1 SHARED library.cpp)

重新加载CMake

a3.png

构建工程

点击上方构建,选择第三个构建当前工程,待显示构建 已完成,即可在对应配置目录内找到构建成功的的动态数据库,本项目生成文件为test_1.dll,可用于给其他项目加载。

a4.png

]]>
0 https://yanhy.top/index.php/archives/260/#comments https://yanhy.top/index.php/feed/search/clion/