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

怎样做的英文网站网站开发所需开发环境

怎样做的英文网站,网站开发所需开发环境,免费视频素材下载的网站,上海网站建设哪家做得好文章目录 1、简介2、下载cmake3、安装cmake4、测试cmake4.1 单个源文件4.2 同一目录下多个源文件4.3 不同目录下多个源文件4.4 标准组织结构4.5 动态库和静态库的编译4.6 对库进行链接4.7 添加编译选项4.8 添加控制选项 5、构建最小项目5.1 新建代码文件5.2 新建CMakeLists.txt… 文章目录 1、简介2、下载cmake3、安装cmake4、测试cmake4.1 单个源文件4.2 同一目录下多个源文件4.3 不同目录下多个源文件4.4 标准组织结构4.5 动态库和静态库的编译4.6 对库进行链接4.7 添加编译选项4.8 添加控制选项 5、构建最小项目5.1 新建代码文件5.2 新建CMakeLists.txt5.3 构建项目5.4 编译项目5.5 运行项目5.6 修改相关文件 结语 1、简介 官网地址 https://cmake.org CMake是一个跨平台的安装编译工具可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件能测试编译器所支持的C特性,类似UNIX下的automake。只是 CMake 的组态档取名为 CMakeLists.txt。 2、下载cmake 1官网下载地址一 https://cmake.org/download/ 2官网下载地址二 https://cmake.org/files/ 3GitHub下载地址 https://github.com/Kitware/CMake/releases ubuntu系统下只需要如下一句命令即可: # ubuntu sudo apt install cmakeCMake 提供了多种版本包括但不限于 “RC 版本”Release Candidate和“稳定版本”Latest Release。切换到系统存放源代码的目录再用 curl 命令通过该链接将 CMake 的二进制分发压缩包下载下来 cd /usr/local/srccurl -LO https://github.com/Kitware/CMake/releases/download/v3.22.2/cmake-3.22.2-linux-x86_64.tar.gz# or yum install -y wget wget -c https://github.com/Kitware/CMake/releases/download/v3.22.2/cmake-3.22.2-linux-x86_64.tar.gz # wget -c https://cmake.org/files/v3.26/cmake-3.26.0-rc1-linux-x86_64.tar.gz3、安装cmake CMake 二进制分发压缩包下载完毕后运行以下两条命令将压缩包解压缩并将得到的文件夹移动到系统的本地程序目录同时将文件夹重命名为 cmake即 /usr/local/cmake tar -xvf cmake-3.26.0-rc1-linux-x86_64.tar.gz # tar zxvf cmake-3.22.2-linux-x86_64.tar.gz mv cmake-3.26.0-rc1-linux-x86_64 /usr/local/cmake查看安装后的路径 ls /usr/local/cmake如果你是第一次按照本文步骤安装 CMake为方便之后运行 CMake 的相关命令请运行以下两条命令将 CMake 的可执行文件目录添加到系统环境变量 PATH 中 echo export PATH/usr/local/cmake/bin:$PATH ~/.bashrc source ~/.bashrc查看~/.bashrc vi ~/.bashrc #在最后添加export PATH/usr/local/cmake/bin:$PATH查看cmake的版本 cmake --verison4、测试cmake 4.1 单个源文件 main.c: #include stdio.hint main(void) {printf(Hello World\n);return 0; }然后在main.c相同目录下编写CMakeLists.txt: cmake_minimum_required (VERSION 2.8) project (demo) add_executable(main main.c)执行命令 cmake .再来看看目录下的文件成功生成了Makefile还有一些cmake运行时自动生成的文件 查看Makefile vi Makefile输入make命令进行编译 make ls ./main #make clean4.2 同一目录下多个源文件 安装tree命令方便查看文件夹的层级关系 ubuntusudo apt-get install tree centosyum -y install treetree ./修改CMakeLists.txt: cmake_minimum_required (VERSION 2.8)project (demo) add_executable(main main.c anotherTest.c)执行命令 cmake . ls make ./main如果在同一目录下有多个源文件。cmake提供了一个命令可以把指定目录下所有的源文件存储在一个变量中这个命令就是 aux_source_directory(dir var)。第一个参数dir是指定目录第二个参数var是用于存放源文件列表的变量。 修改CMakeLists.txt: cmake_minimum_required (VERSION 2.8)project (demo) aux_source_directory(. SRC_LIST) add_executable(main ${SRC_LIST})使用aux_source_directory把当前目录下的源文件存列表存放到变量SRC_LIST里然后在add_executable里调用SRC_LIST注意调用变量时的写法。 aux_source_directory()也存在弊端它会把指定目录下的所有源文件都加进来可能会加入一些我们不需要的文件此时我们可以使用set命令去新建变量来存放需要的源文件如下 cmake_minimum_required (VERSION 2.8)project (demo) set( SRC_LIST./main.c./anotherTest.c)add_executable(main ${SRC_LIST})4.3 不同目录下多个源文件 修改CMakeLists.txt: cmake_minimum_required (VERSION 2.8) project (demo)include_directories (test1 test2)aux_source_directory (test1 SRC_LIST) aux_source_directory (test2 SRC_LIST1)add_executable (main main.c ${SRC_LIST} ${SRC_LIST1})4.4 标准组织结构 一般会把源文件放到src目录下把头文件放入到include文件下生成的对象文件放入到build目录下最终输出的elf文件会放到bin目录下这样整个结构更加清晰。 修改CMakeLists.txt: cmake_minimum_required (VERSION 2.8) project (demo)add_subdirectory (src)这里指定src目录下存放了源文件当执行cmake时就会进入src目录下去找src目录下的CMakeLists.txt所以在src目录下也建立一个CMakeLists.txt 添加CMakeLists.txt: aux_source_directory (. SRC_LIST) include_directories (../include) add_executable (main ${SRC_LIST}) set (EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)这里又出现一个新的命令set是用于定义变量的EXECUTABLE_OUT_PATH和PROJECT_SOURCE_DIR是CMake自带的预定义变量其意义如下 EXECUTABLE_OUTPUT_PATH 目标二进制可执行文件的存放位置 PROJECT_SOURCE_DIR工程的根目录 新建build文件夹然后进入 mkdir build cd build cmake .. make ls ../bin/main也可以只使用一个CMakeLists.txt把最外层的CMakeLists.txt内容改成如下: cmake_minimum_required (VERSION 2.8) project (demo)set (EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin) aux_source_directory (src SRC_LIST) include_directories (include) add_executable (main ${SRC_LIST})4.5 动态库和静态库的编译 有时需要编译出动态库和静态库然后等着让其它程序去使用。测试工程文件夹如下 Windows示例如下 CMakeLists.txt内容如下 cmake_minimum_required (VERSION 2.8)project (myrand)# find *.cpp *.c set (SRC_LIST ${PROJECT_SOURCE_DIR}/src/getRandomAPI.cpp)# find *.h include_directories (${PROJECT_SOURCE_DIR}/include)######################################## # create lib and dll add_library (myrand_shared SHARED ${SRC_LIST}) add_library (myrand_static STATIC ${SRC_LIST})set_target_properties (myrand_shared PROPERTIES OUTPUT_NAME myrand) set_target_properties (myrand_static PROPERTIES OUTPUT_NAME myrand_s)set (LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)######################################## # create exe add_compile_options(-stdc11 -Wall) set (EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin) add_executable (myrand_test ${SRC_LIST})命令解释如下 1add_library: 生成动态库或静态库(第1个参数指定库的名字第2个参数决定是动态还是静态如果没有就默认静态第3个参数指定生成库的源文件) 2set_target_properties: 设置最终生成的库的名称还有其它功能如设置库的版本号等等 3LIBRARY_OUTPUT_PATH: 库文件的默认输出路径这里设置为工程目录下的lib目录在build目录下运行cmake并把生成的库文件.dll、.lib存放到lib文件夹下exe放到bin文件夹里。执行命令如下 cd C:\Users\tomcat\Desktop\test_cmake mkdir build cd build cmake ..打开build文件夹如下 通过命令行编译myrand.sln如下。 # release x64(默认) cd C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE .\devenv.com C:\Users\tomcat\Desktop\test_cmake\build\myrand.sln /Build# or debug x64 .\devenv.com F:\00Projects\test.sln /Build Debug|64# or debug win32 .\devenv.com F:\00Projects\test.sln /Build Debug|Win32运行结果如下 运行结果文件夹如下 4.6 对库进行链接 在src目录下添加一个main.cpp调用上面一节生成的库文件。 cmake_minimum_required (VERSION 2.8) project (myrand_test)set (EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin) set (SRC_LIST ${PROJECT_SOURCE_DIR}/src/main.cpp)# find *.h include_directories (${PROJECT_SOURCE_DIR}/include)find_library(TEST_LIB NAMES myrand HINTS ${PROJECT_SOURCE_DIR}/lib/debug)add_executable (test ${SRC_LIST}) target_link_libraries (test ${TEST_LIB})执行命令 cmake ..4.7 添加编译选项 添加一些编译选项如-Wall-stdc11等就可以使用add_compile_options来进行操作。 cmake_minimum_required (VERSION 2.8) project (test)set (EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin) add_compile_options(-stdc11 -Wall) add_executable(test main.cpp)4.8 添加控制选项 有时只编译一些指定的源码可以使用cmake的option命令 1、本来要生成多个bin或库文件现在只想生成部分指定的bin或库文件 2、对于同一个bin文件只想编译其中部分代码使用宏来控制CMakeLists.txt内容如下 cmake_minimum_required(VERSION 3.0) project(test)set (EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin) set (SRC_LIST ${PROJECT_SOURCE_DIR}/src/main.cpp) set (SRC_LIST2 ${PROJECT_SOURCE_DIR}/src/main2.cpp)option(USE_TEST_1 use test 1 OFF) option(USE_TEST_2 use test 2 OFF) option(USE_TEST_3 use test 3 OFF)if (USE_TEST_1)add_definitions(-DTEST_1) endif()if (USE_TEST_2)add_definitions(-DTEST_2) endif()if (USE_TEST_3)add_definitions(-DTEST_3) endif()add_executable(main ${SRC_LIST})if (USE_PROJECT2)add_executable(main2 ${SRC_LIST2}) else()message(STATUS No project main2) endif()main.cpp #include windows.h #include iostreamint main() { #ifdef TEST_1printf(getRandom_1\n); #endif#ifdef TEST_2printf(getRandom_2\n); #endif#ifdef TEST_3printf(getRandom_3\n); #endifsystem(pause);return 0; }cmake .. -DTEST_3ON -DTEST_2OFF -DUSE_PROJECT2OFF cmake .. -DTEST_3ON make5、构建最小项目 5.1 新建代码文件 编辑代码文件tutorial.cpp tutorial.cpp // tutorial.cpp#include cmath #include cstdlib #include iostream #include stringint main(int argc, char* argv[]) {if (argc 2) {std::cout Usage: argv[0] number std::endl;return 1;}// convert input to doubleconst double inputValue atof(argv[1]);// calculate square rootconst double outputValue sqrt(inputValue);std::cout (爱看书的小沐)The square root of inputValue is outputValue std::endl;return 0; }5.2 新建CMakeLists.txt 在同一个文件夹内新建文件CMakeLists.txt。 CMakeLists.txt cmake_minimum_required(VERSION 3.15)# set the project name project(Tutorial)# add the executable add_executable(Tutorial tutorial.cpp)cmake_minimum_required指定使用 CMake 的最低版本号 project指定项目名称 add_executable用来生成可执行文件需要指定生成可执行文件的名称和相关源文件。 现在开始构建、编译和运行上面代码示例。 5.3 构建项目 在当前项目工作文件夹创建一个构建目录 build接下来进入 build 目录并运行 CMake 来配置项目并生成构建系统。 mkdir build cd build cmake ..命令执行情况 生成文件和文件夹如下 5.4 编译项目 然后调用该构建系统来实际编译/链接项目 cmake --build .生成文件和文件夹如下 5.5 运行项目 .\debug\Tutorial.exe 3.14运行结果如下 5.6 修改相关文件 编辑代码文件CMakeLists.txt CMakeLists.txt cmake_minimum_required(VERSION 3.15)## set the project name # project(Tutorial) project(Tutorial VERSION 1.2.3)string(TIMESTAMP COMPILE_TIME %Y%m%d-%H%M%S) configure_file(TutorialConfig.h.in TutorialConfig.h)# set(SRC_LIST a.cpp b.cpp c.cpp) SET(SRC_LIST tutorial.cpp)## add the executable # add_executable(Tutorial tutorial.cpp) # add_executable(${PROJECT_NAME} tutorial.cpp) # add_executable(${PROJECT_NAME} a.cpp b.cpp c.cpp) add_executable(${PROJECT_NAME} ${SRC_LIST})target_include_directories(${PROJECT_NAME} PUBLIC${PROJECT_BINARY_DIR} )新建文件TutorialConfig.h.in TutorialConfig.h.in // the configured options and settings for Tutorial #define Tutorial_VERSION_MAJOR PROJECT_VERSION_MAJOR #define Tutorial_VERSION_MINOR PROJECT_VERSION_MINOR #define Tutorial_VERSION_PATCH PROJECT_VERSION_PATCH#define TIMESTAMP COMPILE_TIME编辑代码文件tutorial.cpp tutorial.cpp // tutorial.cpp#include cmath #include cstdlib #include iostream #include string #include TutorialConfig.hint main(int argc, char* argv[]) {if (argc 2) {std::cout argv[0] Version Tutorial_VERSION_MAJOR . Tutorial_VERSION_MINOR std::endl;std::cout Usage: argv[0] number std::endl;return 1;}// convert input to doubleconst double inputValue atof(argv[1]);// calculate square rootconst double outputValue sqrt(inputValue);std::cout (爱看书的小沐)The square root of inputValue is outputValue std::endl;return 0; }执行如下命令 cmake --build . .\debug\Tutorial.exe生成文件TutorialConfig.h TutorialConfig.h 结语 如果您觉得该方法或代码有一点点用处可以给作者点个赞或打赏杯咖啡╮(▽)╭ 如果您感觉方法或代码不咋地//(ㄒoㄒ)//就在评论处留言作者继续改进o_O??? 如果您需要相关功能的代码定制化开发可以留言私信作者(✿◡‿◡) 感谢各位大佬童鞋们的支持( ´ ▽´ ) ( ´ ▽´)っ
http://www.dnsts.com.cn/news/188118.html

相关文章:

  • 最新汽车网站大全免费广告设计app
  • 电影网站建设 流程世界街景地图怎么退订
  • 有哪些做婚礼平面设计的网站有哪些北京做网站源代码的
  • 有哪些网站下载ppt是免费的ui中国网站
  • 网站开发实习总结网站常见 8
  • 网站开发文献综述重庆做网站最好的
  • 怎么样提高网站点击率厦门市建设局网站住房保障2018
  • 家具公司网站模板下载巨鹿网站制作
  • 我的文档上传到网站 做链接抖音代运营剧本
  • 建设银行企业网站银行分销商城开发公司
  • 免费门户网站制作微信 网站 织梦
  • 长沙房地产网站建设智通人才招聘网
  • 西峡微网站开发雄安做网站优化的公司
  • 深圳团购网站设计公司做适合漫画网站的图片
  • 郑州中小企业网站制作基于php网站开发
  • 建立网站策划书微信运营商人工电话
  • 做pc端网站要多少钱wordpress编辑器增加
  • 太原做网站制作网络营销推广方法与策略
  • 做网站前怎么建立数据结构南沙滩做网站公司
  • 腕表之家网站口碑营销案例分析
  • 专业的网站建设公司哪家好网站 多语言
  • 整站下载工具软件东大桥做网站的公司
  • 广东网站建设公司968织梦示范网站
  • 马鞍山网站建设 明达友链通
  • 福州建站网络公司网站用户体验诊断
  • 如何做网站推广最有效微信公众号小程序怎么创建
  • 个人如何制作一个网站django 网站开发
  • 企业网站优化的重要性网站设计做哪些准备
  • 企业网站html模板网络营销招聘
  • 做介绍美食网站的菜单的火车头wordpress 5.1