当前位置: 首页 > wzjs >正文

移动端网站开发框架廊坊seo排名收费

移动端网站开发框架,廊坊seo排名收费,东莞的网站建设公司哪家好,wordpress 标题长度前言 欢迎来到我的博客 个人主页:北岭敲键盘的荒漠猫-CSDN博客 本文主要整理visual studio C导入第三方库的注意事项与操作 bilibili配套视频:【visual studio C导入第三方库-哔哩哔哩】 https://b23.tv/vphfXnv 运行库选项 右键项目 -> 属性 -> C/C ->代码生成->…

前言

欢迎来到我的博客

个人主页:北岭敲键盘的荒漠猫-CSDN博客

 本文主要整理visual studio C++导入第三方库的注意事项与操作

bilibili配套视频:【visual studio C++导入第三方库-哔哩哔哩】 https://b23.tv/vphfXnv

运行库选项

右键项目 -> 属性 -> C/C++ ->代码生成->运行库

 

可以看到在debug模式下他有四个选项。

 

MT,MD与MTd,MDd的区别

debug模式生成的可执行文件会比较大,方便我们调试使用。

release模式文件体积小,适合作为发行版。

这里的MTd,MDd后面带了d的就是debug模式的生成。

debug模式下默认使用的是MDd,release下默认使用MD。

 

MT与MD的区别

配置类型MT(/MT、/MTd)MD(/MD、/MDd)
全称多线程静态运行时库多线程动态运行时库
运行时依赖无需额外DLL需微软运行时DLL(如msvcp140.dll
文件体积主程序较大(运行时库代码嵌入其中)主程序较小(运行时库代码在DLL中共享)
适用场景绿色单文件部署、嵌入式系统多程序共享DLL、依赖系统运行时环境

直观点:

MT就是相当于把所有代码写在一个文件里,它可以直接执行。

MD就是分文件编写程序,缺一个文件就无法执行。而这里的文件实际上是DLL文件。

 

推荐查阅内容:

Visual Studio C++ 常用配置变量表-CSDN博客

 

第三方库导入案例

导入三步走

1.导入头文件

2.添加依赖目录

3.添加依赖文件

 

Crypto++导入案例

特点:下载自带visual studio工程,依赖动态lib。

下载:https://github.com/weidai11/cryptopp/releases/tag/CRYPTOPP_8_9_0

下载下来后文件夹里很多文件

有一个sln解决方案文件。

点开里面有四个项目

我们先看一下他是什么配置

MT静态配置,release,x64,这个东西的配置要跟我们的项目一样。

我们都用默认的演示吧。

lib就是链接文件,所以我们要生成cryptlib项目。

生成完毕。

我们要用这个第三方库需要用这个。

现在创建我们的项目。

这里我创建一个lib,一个include文件夹。

lib用来存放lib文件,include用来存放文件头。

(当然这个不是必须的,可以根据自身喜好做)

现在配置解决方案选项。

这个改成OutDir,这个是文件的运行环境,OutDir就是他生成exe的文件夹,所以我们的相对路径就在exe文件所在的目录,原本是在项目目录。

包含目录配置好,存放文件头。(这里就是include文件夹的路口)

 

添加lib存放目录。

(我们调试有时候会用debug,有时候用release,所以可以两个模式一起编译,然后分开放)。

$(SolutionDir)lib\$(ProjectName)\$(Platform)\$(Configuration)

即:解决方案目录\lib\项目名称\x64\Release

我们再创建好文件夹,把之前生成的lib复制过来。

现在我们只是选择了链接目录,还需要选择链接的文件。

所以在这里填写文件。

这样基本都是配置完成了。

接下来是把文件头全部复制到include中。

这里你看,直接复制进来是不是文件太多了。

这是一个第三方库,如果很多库呢,他们有重名的怎么办,所以这时候我们创建一个文件夹。

把这个库的文件全部放到文件夹中。

然后我们导入的时候添加一个相对路径。

现在我们写个程序进行测试。

#include <iostream>
#include <cryptopp/aes.h>  // 包含AES算法头文件
#include <cryptopp/cryptlib.h>  // 核心库头文件
#include <cryptopp/modes.h>  // 包含模式操作头文件using namespace CryptoPP;int main() {try {std::cout << "Crypto++ Library Test:" << std::endl;// 验证AES算法支持std::cout << "AES Block Size: " << AES::BLOCKSIZE << " bytes" << std::endl;// 验证基础加密对象创建ECB_Mode<AES>::Encryption encryptor;  // 修复问题:确保包含 modes.h 头文件std::cout << "ECB AES Encryptor initialized successfully." << std::endl;return 0;}catch (const CryptoPP::Exception& e) {std::cerr << "Crypto++ Error: " << e.what() << std::endl;return 1;}catch (const std::exception& e) {std::cerr << "Standard Exception: " << e.what() << std::endl;return 1;}catch (...) {std::cerr << "Unknown error occurred." << std::endl;return 1;}
}

执行成功。

 

spdlog导入案例

特点:下载只有源码没有工程,纯静态不依赖lib。

库地址:https://github.com/gabime/spdlog

下载下来文件结构如下:

可以看到,他有CMakeLists.txt文件,但是没有现成的项目。

所以我们要先构建项目。

我们先构建我们Exper的项目。

好,这里我们要去构建spdlog的visual工程。

我们在他的目录创建一个build文件夹

我们在build文件夹中构建项目。

我们使用cmake工具构造项目。在build中打开cmd命令行输入这个构建

cmake .. -G "Visual Studio 17 2022" -A x64

cmake:启动cmake工具

..:在build的上一级目录启动

-G "Visual Studio 17 2022":选择2022编译器(根据你的visual版本而定)

-A x64:生成64位项目。

cmake会在你安装visual studio的C++环境的时候自动安装。

如果你发现没有的话。

这是因为新版本他不会直接把这些工具放到全局环境中。

你可以用visual studio专门开发者的cmd环境操作。

打开方法如下:

好cd到build目录执行就行了

执行完毕会出现sin项目

这种就能编译好了。

不过这种是针对相同类型的库。

但是spdlog很特殊。

  1. 零编译依赖
    spdlog是典型的头文件库(Header-only library),所有实现代码都包含在.hpp文件中,编译器在预处理阶段直接将代码嵌入到你的源文件中。

  2. 自动实例化机制
    模板类在首次使用时自动实例化(如spdlog::info创建logger对象),无需提前编译二进制文件。

所以这个库只需要你直接include个头文件就能用。

include里的文件直接放进去。

配置好

直接运行。

报错utf-8

这个框架强制要求utf-8

添加一下这个

直接运行。

代码:

#include "spdlog/spdlog.h"int main() 
{spdlog::info("Welcome to spdlog!");spdlog::error("Some error message with arg: {}", 1);spdlog::warn("Easy padding in numbers like {:08d}", 12);spdlog::critical("Support for int: {0:d};  hex: {0:x};  oct: {0:o}; bin: {0:b}", 42);spdlog::info("Support for floats {:03.2f}", 1.23456);spdlog::info("Positional args are {1} {0}..", "too", "supported");spdlog::info("{:<30}", "left aligned");spdlog::set_level(spdlog::level::debug); // Set global log level to debugspdlog::debug("This message should be displayed..");    // change log patternspdlog::set_pattern("[%H:%M:%S %z] [%n] [%^---%L---%$] [thread %t] %v");// Compile time log levels// Note that this does not change the current log level, it will only// remove (depending on SPDLOG_ACTIVE_LEVEL) the call on the release code.SPDLOG_TRACE("Some trace message with param {}", 42);SPDLOG_DEBUG("Some debug message");
}

完美

 

 

 

http://www.dtcms.com/wzjs/93085.html

相关文章:

  • 是不是做网站就能赚钱网站如何提升seo排名
  • 腾讯云主机网站建设教程搜索引擎营销例子
  • wordpress 函数大全百度seo标题优化软件
  • 上海网站建设团队杨浦东莞企业推广网站制作
  • 视频网站咋么做淘宝推广哪种方式最好
  • 网站页面设计代码google谷歌搜索引擎
  • 企业网站做优化太原关键词排名提升
  • 企业品牌网站建设定制开发武汉网站seo推广
  • wordpress发布产品seo外包多少钱
  • 教做饮品的网站重庆seo网络营销
  • 哪些网站做京东的团购软文代写服务
  • 杭州专业做网站公司网站怎么弄
  • 做的网站一定要收录么百度搜索关键词推广
  • 中企动力销售好做吗深圳网站优化培训
  • 网站主机注册济南网站设计
  • 网站建设规划论文如何开展网络营销活动
  • 昆山有做网站的公司吗百度推广优化排名怎么收费
  • 服务器运行一段时间网站打不开百度交易平台官网
  • bbs网站设计模板营销策划书模板范文
  • 网站关键词排名怎么做网络推广方式有哪些
  • 网站制作品牌有哪些2022今天刚刚发生地震了
  • 政府网站 banner 源码做一个微信小程序需要多少钱
  • 深圳专业建网站深圳seo云哥
  • 室内设计方案网站免费关键词搜索工具
  • 超能搜索引擎系统网站百度指数购买
  • 温州市住房和城乡建设局seo整站优化方案
  • 滁州网站建设设计在线收录
  • 过期网站查询网站seo站群软件
  • 秦皇岛网签查询系统成都seo优化排名推广
  • 大型网站制作哪家好百度seo是什么意思呢