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

建设网站的技术难点域名注册网站建设方案

建设网站的技术难点,域名注册网站建设方案,镇江百姓网,wordpress 微网站模板怎么用conan2 基础入门(03)-使用(msvc为例) 文章目录 conan2 基础入门(03)-使用(msvc为例)⭐准备生成profile文件预备文件和Code ⭐使用指令预览正确执行结果可能出现的问题 ⭐具体讲解conanconanfile.txt执行 install cmakeCMakeLists.txt生成项目构建 END ⭐准备 在阅读和学习本文…conan2 基础入门(03)-使用(msvc为例) 文章目录 conan2 基础入门(03)-使用(msvc为例)⭐准备生成profile文件预备文件和Code ⭐使用指令预览正确执行结果可能出现的问题 ⭐具体讲解conanconanfile.txt执行 install cmakeCMakeLists.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格式的配置文件但并非完全的iniconan有自己的特殊处理。 detect_api: Found msvc 16Detected profile: [settings] archx86_64 build_typeRelease compilermsvc compiler.cppstd14 compiler.runtimedynamic compiler.version192 osWindowsWARN: 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\defaultC:. │ global.conf │ settings.yml │ version.txt │ ├─extensions │ └─plugins │ │ profile.py │ │ │ └─compatibility │ compatibility.py │ cppstd_compat.py │ └─profilesdefault预备文件和Code 文件名预览 :. │ CMakeLists.txt │ conanfile.txt └─ main.cppmain.cpp #include iostream#include zlib.hvoid 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 developmentfor C and C development, allowing development teams to easily and efficientlymanage 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-folderbuild --buildmissingcd buildcmake .. -G Visual Studio 16 2019 -DCMAKE_TOOLCHAIN_FILEconan_toolchain.cmakecmake --build . --config Releasecd ../bin/Releasemydemo.exe正确执行结果 如果操作都没问题则会出现下面的结果。 生成一个CMakeUserPresets.json文件build和bin文件夹。并成功生成可执行文件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-folderbuild --buildmissing--output-folderbuild 表示conan的生成文件放置的目录。--buildmissing 表示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_FILEconan_toolchain.cmakeconan_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://www.w-s-a.com/news/491851/

相关文章:

  • 商务网站开发设计结论微信报名小程序怎么制作
  • 网站建设销售简历wordpress七比2
  • 制作网站报价工程项目查询哪个网站
  • 深圳移动网站建设制作公司网站建设的认识
  • 网站建设脚本语言有哪些想开网店哪个平台好
  • 视频网站用什么做的好深圳的小程序开发公司
  • 南京网站定制开发商城网站免费模板
  • 青海学会网站建设公司照片组合拼图
  • 中国建设银行福清分行网站爱站网权重查询
  • 外贸通网站建设网站建设7个主要流程图
  • 元气森林网络营销方式医疗网站优化怎么做
  • 手机网站制作报价表做网站公司做网站公司
  • 湖州网站设计吉林网站建设哪家好
  • 做存储各种环境信息的网站使用tag的网站
  • 阿里云用ip做网站网站开发员属于
  • 外链网盘下载南宁seo推广优化
  • 网站的推广方案有哪些此网站可能有
  • wordpress更改链接后网站打不开一键生成个人网站
  • 网站建设后台有哪些东西前端开发培训一般多少钱
  • 高端建设网站公司网站开发 源码
  • 企业网站的劣势园林景观设计公司简介范文
  • 网站建设程序招聘东营建设信息网登录
  • o2o是什么意思通俗讲seo与网站优化 pdf
  • 外贸网站外包一般建设一个网站多少钱
  • 抄袭别人网站的前端代码合法吗网络促销策略
  • 用wordpress制作网站做资源网站
  • wordpress 发布网站南宁网站建设网站
  • 职业生涯规划大赛心得贵阳哪家网站做优化排名最好
  • wordpress 图片懒加载北京网站优化和推广
  • 深圳网站建设工作一个dede管理两个网站