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

自己做的网站让别人看到简单网页制作成品免费

自己做的网站让别人看到,简单网页制作成品免费,在什么网站可以接国外的模具做,wordpress手机app登陆不了conan2 基础入门(03)-使用(msvc为例) 文章目录 conan2 基础入门(03)-使用(msvc为例)⭐准备生成profile文件预备文件和Code ⭐使用指令预览正确执行结果可能出现的问题 ⭐具体讲解conanconanfile.txt执行 install cmakeCMakeLists.txt生成项目构建 END ⭐准备 在阅读和学习本文…

conan2 基础入门(03)-使用(msvc为例)

文章目录

  • conan2 基础入门(03)-使用(msvc为例)
  • ⭐准备
    • 生成`profile`文件
    • 预备文件和Code
  • ⭐使用
    • 指令预览
    • 正确执行结果
    • 可能出现的问题
  • ⭐具体讲解
    • conan
      • conanfile.txt
      • 执行 install
    • cmake
      • CMakeLists.txt
      • 生成项目
      • 构建
  • END

⭐准备

在阅读和学习本文前,希望有一定的cmake基础。

cmake基础:

(CMake) 从下载到构建第一个CMake应用

(CMake) 库的生成和链接

Build a simple CMake project using Conan — conan 2.3.0 documentation

在conan官网中有简单的示例教程。

在这里插入图片描述

生成profile文件

在使用conan前,需要先准备一个profile文件。下面指令会自动生成默认的。

# 生成默认profile文件,名字为`default`
# --force 表示强制生成,即若原来有`default`会被覆盖
# --name 表示指定生成名称
conan profile detect
conan profile detect --force
conan profile detect --name <指定名称># 查看名为`default`的profile文件的路径
conan profile path default
conan profile path <名称># 查看已经存在的eprofile
conan profile list

在笔者测试机(装有vs2019)上会出现如下显示。其实就是一个.ini格式的配置文件(但并非完全的ini,conan有自己的特殊处理)。

detect_api: Found msvc 16Detected profile:
[settings]
arch=x86_64
build_type=Release
compiler=msvc
compiler.cppstd=14
compiler.runtime=dynamic
compiler.version=192
os=WindowsWARN: This profile is a guess of your environment, please check it.
WARN: The output of this command is not guaranteed to be stable and can change in future Conan versions.
WARN: Use your own profile files for stability.
Saving detected profile to C:\Users\lotus\.conan2\profiles\default
C:.
│  global.conf
│  settings.yml
│  version.txt
│
├─extensions
│  └─plugins
│      │  profile.py
│      │
│      └─compatibility
│              compatibility.py
│              cppstd_compat.py
│
└─profilesdefault

在这里插入图片描述

预备文件和Code

文件名预览

:.
│  CMakeLists.txt
│  conanfile.txt
└─ main.cpp

main.cpp

#include <iostream>#include "zlib.h"void test_env() {std::cout << ">>>" << __func__ << std::endl;std::cout << "sizeof(void*) = " << sizeof(void *) << std::endl;
#if defined(__VERSION__)std::cout << "__VERSION__ = " << __VERSION__ << std::endl;
#elif defined(_MSC_VER)std::cout << "_MSC_VER = " << _MSC_VER << std::endl;
#endif
}void test_zlib(void) {std::cout << ">>>" << __func__ << std::endl;char buffer_in[256] = {"Conan is a MIT-licensed, Open Source package manager for C and C++ development""for C and C++ development, allowing development teams to easily and efficiently""manage their packages and dependencies across platforms and build systems."};char buffer_out[256] = {0};z_stream defstream;defstream.zalloc    = Z_NULL;defstream.zfree     = Z_NULL;defstream.opaque    = Z_NULL;defstream.avail_in  = (uInt)strlen(buffer_in);defstream.next_in   = (Bytef *)buffer_in;defstream.avail_out = (uInt)sizeof(buffer_out);defstream.next_out  = (Bytef *)buffer_out;deflateInit(&defstream, Z_BEST_COMPRESSION);deflate(&defstream, Z_FINISH);deflateEnd(&defstream);printf("Uncompressed size is: %lu\n", strlen(buffer_in));printf("Compressed size is: %lu\n", strlen(buffer_out));printf("ZLIB VERSION: %s\n", zlibVersion());
}int main(void) {test_env();test_zlib();
}

CMakeLists.txt

cmake_minimum_required(VERSION 3.15)
project(mydemo CXX)set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/bin)find_package(ZLIB REQUIRED)add_executable(${PROJECT_NAME} main.cpp)target_link_libraries(${PROJECT_NAME} ZLIB::ZLIB)

conanfile.txt

[requires]
zlib/1.3.1[generators]
CMakeDeps
CMakeToolchain

⭐使用

指令预览

流程化指令,run.bat

如果你和上文中的代码和配置文件编写一致,请无脑直接操作以下命令。

conan install . --output-folder=build --build=missingcd buildcmake .. -G "Visual Studio 16 2019" -DCMAKE_TOOLCHAIN_FILE="conan_toolchain.cmake"cmake --build . --config Releasecd ../bin/Releasemydemo.exe

正确执行结果

如果操作都没问题,则会出现下面的结果。

生成一个CMakeUserPresets.json文件,buildbin文件夹。并成功生成可执行文件mydemo.exe文件。

在这里插入图片描述

# mydemo.exe 执行结果
>>>test_env
sizeof(void*) = 8
_MSC_VER = 1929
>>>test_zlib
Uncompressed size is: 231
Compressed size is: 19
ZLIB VERSION: 1.3.1

可能出现的问题

下面讲一些可能出现的问题,因为笔者是比较顺利的完成的,这里将的都是一些基于经验的猜测。

  • 没有正确配置好conan环境
  • 没有生成profile文件
  • profile-default中的配置版本太低,无法正常支持本文示例中的库
  • profile文件中的配置与cmake指令中的配置不一致
    • 如指定编译器不同
    • 指定debug还是release模式不同
  • 相关路径错误
  • 你使用的环境与笔者不同,而你直接cv笔者的环境,指定代码等

关于cmake指定编译器,可以通过help指令查看,一般在Generators下,前面有*的是cmake下的默认编译器。

(CMake) 指定生成器 generator

cmake --help
...
...
GeneratorsThe following generators are available on this platform (* marks default):Visual Studio 17 2022        = Generates Visual Studio 2022 project files.Use -A option to specify architecture.
* Visual Studio 16 2019        = Generates Visual Studio 2019 project files.Use -A option to specify architecture.Visual Studio 15 2017 [arch] = Generates Visual Studio 2017 project files.Optional [arch] can be "Win64" or "ARM".
...
...

⭐具体讲解

关于上文中,文件和代码配置的相关信息可以参照官网的提示编写。

zlib - Conan 2.0: C and C++ Open Source Package Manager

在这里插入图片描述

conan

conanfile.txt

[requires]
zlib/1.3.1[generators]
CMakeDeps
CMakeToolchain

[requires]

section is where we declare the libraries we want to use in the project

表示需要获取的库。

我们可以在官网查看是否有该包,和包的版本。也可以通过search指令来查看。

# conan search <库名>
conan search zlibFound 6 pkg/version recipes matching zlib in conancenter
conancenterzlibzlib/1.2.8zlib/1.2.11zlib/1.2.12zlib/1.2.13zlib/1.3zlib/1.3.1

[generators]

section tells Conan to generate the files that the compilers or build systems will use to find the dependencies and build the project.

In this case, as our project is based in CMake, we will use CMakeDeps to generate information about where the Zlib library files are installed and CMakeToolchain to pass build information to CMake using a CMake toolchain file.

用于告诉conan编译或构建当前项目所需要的依赖。

CMakeDeps:生成关于Zlib库文件安装位置的信息

CMakeToolchain:传递构建信息到CMake使用CMake工具链文件。

简单说这就是为了配合cmake使用。

执行 install

conan install . --output-folder=build --build=missing
  • --output-folder=build 表示conan的生成文件放置的目录。
  • --build=missing 表示conan在安装过程中构建任何缺失的依赖项。

该指令会自动根据profile文件安装下载conanfile.txt指定的库。并生成build文件夹。具体的还会生成CMakeUserPresets.json文件,不过这个不是重点。

具体的,执行完后会出现下列文件。

可见却是针对zlib库做了很多对应的操作,而其中最重要的是名为conan_toolchain.cmake的文件。

在这里插入图片描述

而实际的zlib库则是下载到.conan2/p文件夹中。(注意,在默认生成的profile中是下载的静态库)

在这里插入图片描述

如果你只是单纯的下载一个库,到这里其实就可以结束了。

cmake

而接下来都是cmake的操作了。

CMakeLists.txt

下面看两个cmake的重点语句。

find_package(ZLIB REQUIRED)target_link_libraries(${PROJECT_NAME} ZLIB::ZLIB)

其实在上文已经提到,在官网中正对ZILB库要求分别这样写查找方式和链接方式

在这里插入图片描述

生成项目

关于指定编译器问题,已经上面提到了。

这里的重点在于指定cmake_工具链_文件也就是上面提到的conan_toolchain.cmake

cmake .. -G "Visual Studio 16 2019" -DCMAKE_TOOLCHAIN_FILE="conan_toolchain.cmake"

conan_toolchain.cmake

我们查看以下该文件,可以看到下面的重要信息。

可见,这里自动帮我们找到了对应库的头文件和库文件。

# ...# Definition of CMAKE_PREFIX_PATH, CMAKE_XXXXX_PATH
# The Conan local "generators" folder, where this toolchain is saved.
list(PREPEND CMAKE_PREFIX_PATH ${CMAKE_CURRENT_LIST_DIR} )
list(PREPEND CMAKE_LIBRARY_PATH "C:/Users/lotus/.conan2/p/zlibbe5a5af71d5cc/p/lib")
list(PREPEND CMAKE_INCLUDE_PATH "C:/Users/lotus/.conan2/p/zlibbe5a5af71d5cc/p/include")# ...

对应的实际文件为:

在这里插入图片描述

构建

该操作很简单,就是注意下和profile文件中指定的是否是一致的release/debug。

cmake --build . --config Release

至此,就生成了我们的目标可执行文件。




END

辅助脚本

@REM 辅助清除脚本del CMakeUserPresets.jsonrmdir /s /q buildrmdir /s /q bin

关注我,学习更多C/C++,算法,计算机知识

B站:

👨‍💻主页:天赐细莲 bilibili


文章转载自:
http://germanomania.c7493.cn
http://bongo.c7493.cn
http://umpirage.c7493.cn
http://wickiup.c7493.cn
http://acidhead.c7493.cn
http://proselyte.c7493.cn
http://icekhana.c7493.cn
http://colbred.c7493.cn
http://bistate.c7493.cn
http://epicure.c7493.cn
http://actinomycotic.c7493.cn
http://fast.c7493.cn
http://ballooning.c7493.cn
http://landsting.c7493.cn
http://tetrode.c7493.cn
http://overdare.c7493.cn
http://social.c7493.cn
http://sarangi.c7493.cn
http://freeness.c7493.cn
http://speciously.c7493.cn
http://picric.c7493.cn
http://grim.c7493.cn
http://dried.c7493.cn
http://milwaukee.c7493.cn
http://gatt.c7493.cn
http://mountainside.c7493.cn
http://unhealthiness.c7493.cn
http://delightful.c7493.cn
http://togavirus.c7493.cn
http://lumirhodopsin.c7493.cn
http://holothurian.c7493.cn
http://annam.c7493.cn
http://caldoverde.c7493.cn
http://covenanter.c7493.cn
http://asphyxial.c7493.cn
http://garcon.c7493.cn
http://rx.c7493.cn
http://atmospherical.c7493.cn
http://radiogram.c7493.cn
http://internship.c7493.cn
http://kinesthesis.c7493.cn
http://stearic.c7493.cn
http://cuttloefish.c7493.cn
http://startling.c7493.cn
http://thir.c7493.cn
http://code.c7493.cn
http://aviette.c7493.cn
http://obi.c7493.cn
http://penman.c7493.cn
http://marrowsky.c7493.cn
http://monetize.c7493.cn
http://unco.c7493.cn
http://jowled.c7493.cn
http://preoccupant.c7493.cn
http://cowbird.c7493.cn
http://mastocytoma.c7493.cn
http://ulsterite.c7493.cn
http://harlotry.c7493.cn
http://unilocular.c7493.cn
http://achelous.c7493.cn
http://bearer.c7493.cn
http://humbleness.c7493.cn
http://underwrite.c7493.cn
http://illustrational.c7493.cn
http://phenylcarbinol.c7493.cn
http://pictorialist.c7493.cn
http://brushy.c7493.cn
http://rely.c7493.cn
http://muzzleloader.c7493.cn
http://muddler.c7493.cn
http://jimsonweed.c7493.cn
http://gastroenterostomy.c7493.cn
http://warbler.c7493.cn
http://annularly.c7493.cn
http://millenary.c7493.cn
http://urgence.c7493.cn
http://chinchona.c7493.cn
http://diverge.c7493.cn
http://spate.c7493.cn
http://fenghua.c7493.cn
http://panorama.c7493.cn
http://accrue.c7493.cn
http://dickeybird.c7493.cn
http://canalisation.c7493.cn
http://joypop.c7493.cn
http://favored.c7493.cn
http://histographer.c7493.cn
http://kerbs.c7493.cn
http://emend.c7493.cn
http://motorable.c7493.cn
http://galactophore.c7493.cn
http://doff.c7493.cn
http://defect.c7493.cn
http://hindustan.c7493.cn
http://surfcast.c7493.cn
http://hinduism.c7493.cn
http://dreadnaught.c7493.cn
http://laugh.c7493.cn
http://coasting.c7493.cn
http://relisten.c7493.cn
http://www.zhongyajixie.com/news/75703.html

相关文章:

  • 网站seo方案策划书电商的运营模式有几种
  • 如何更改网站图标广告公司是做什么的
  • 苏州专业做网站的公司有哪些搜狗网站收录提交入口
  • 1688代运营seo优化内容
  • 做se要明白网站官网设计公司
  • 重庆营销型网站制作搜索引擎营销的作用
  • 网站建设保教seo优化百度技术排名教程
  • 河南郑州做网站汉狮微信公众号运营推广方案
  • 新乡网站建设设计重庆森林经典台词
  • 网站建设工具最简洁的windows优化大师可靠吗
  • wordpress显示时间插件下载百度seo排名查询
  • 品牌网网站建设seo推广主要做什么
  • 天津市建设工程造价管理协会网站域名查询系统
  • 南宁有做网站的公司吗全球新冠疫情最新消息
  • 网站建设模板制作电商如何推广自己的产品
  • 做响应式网站设计师需要做什么互联网推广怎么找渠道
  • 网站seo测试关键词收录查询工具
  • 建设银行互联网网站首页域名注册查询入口
  • 樟木头做网站西安楼市最新房价
  • 永城住房和城乡建设委员会网站百度地图3d实景地图
  • 开家给别人做网站公司推广软文200字
  • 承接网站建设 优帮云谷歌seo优化怎么做
  • 网站开发要花费多少钱搜索引擎优化包括哪些内容
  • 平邑网站建设免费建站哪个网站最好
  • 网站地图html模板惠州seo代理计费
  • 51网页版在线登录入口锦绣大地seo
  • 建网站用什么语言企业网站建设多少钱
  • 嘉兴的信息公司网站html网页制作软件有哪些
  • 做网站业务的 怎么跑客户免费大数据查询
  • 猪八戒网做网站怎么样最好的seo外包