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

企业建设网站有用么网站seo如何做好优化

企业建设网站有用么,网站seo如何做好优化,做网站小编怎么样,cms怎么搭建网站习惯了使用cmake#xff0c;再也不想回到手写makefile的年代了。相比手写makefile#xff0c;使用cmake则像是实现了机动化#xff0c;管理项目工程的编译变得很简单了。况且cmake很流行#xff0c;linux下的很多软件源码包#xff0c;很多也都使用了cmake的方式编译。因此… 习惯了使用cmake再也不想回到手写makefile的年代了。相比手写makefile使用cmake则像是实现了机动化管理项目工程的编译变得很简单了。况且cmake很流行linux下的很多软件源码包很多也都使用了cmake的方式编译。因此这里总结下嵌入式linux环境下如何使用cmake以及嵌入式qt的cmake配置。 CMake简介 什么是CMake 你或许听过好几种 Make 工具例如 GNU Make QT 的 qmake 微软的 MS nmakeBSD MakepmakeMakepp等等。这些 Make 工具遵循着不同的规范和标准所执行的 Makefile 格式也千差万别。这样就带来了一个严峻的问题如果软件想跨平台必须要保证能够在不同平台编译。而如果使用上面的 Make 工具就得为每一种标准写一次 Makefile 这将是一件让人抓狂的工作手写makefile也不是个很容易的事。 CMake就是针对上面问题所设计的工具它首先允许开发者编写一种平台无关的 CMakeList.txt 文件来定制整个编译流程然后再根据目标用户的平台进一步生成所需的本地化 Makefile 和工程文件如 Unix 的 Makefile 或 Windows 的 Visual Studio 工程。从而做到“Write once, run everywhere”。显然CMake 是一个比上述几种 make 更高级的编译配置工具。一些使用 CMake 作为项目架构系统的知名开源项目有 VTK、ITK、KDE、OpenCV、OSG 等 。 在 linux 平台下使用 CMake 生成 Makefile 并编译的流程如下 1、编写 CMake 配置文件 CMakeLists.txt 。 2、执行命令 cmake PATH 或者 ccmake PATH 生成 Makefileccmake 和 cmake 的区别在于前者提供了一个交互式的界面其中 PATH 是 CMakeLists.txt 所在的目录。 3、使用 make 命令进行编译。 cmake安装 Download | CMake linux下的cmake安装很简单。以ubuntu为例可以直接sudo apt-get install cmake。当然也可以手工下载最新源码包来安装。这里选择了一种最简单的方式。 sudo apt-get install cmake cmake交叉编译环境下的配置 指定cmake使用的交叉编译工具链选项DCMAKE_TOOLCHAIN_FILE。 在项目根目录下新建个toolchains目录在此目录下参照其它开发板的配置文件添加一个该开发板的配置文件arm-poky-linux-gnueabi.cmake。 set(CMAKE_SYSTEM_NAME Linux) set(CMAKE_SYSTEM_PROCESSOR arm) set(CMAKE_C_COMPILER arm-poky-linux-gnueabi-gcc) set(CMAKE_CXX_COMPILER arm-poky-linux-gnueabi-g) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)set(CMAKE_C_FLAGS -marcharmv7-a -mfloat-abihard -mfpuneon --sysroot/opt/fsl-imx-x11/4.1.15-2.1.0/sysroots/cortexa7hf-neon-poky-linux-gnueabi) set(CMAKE_CXX_FLAGS -marcharmv7-a -mfloat-abihard -mfpuneon --sysroot/opt/fsl-imx-x11/4.1.15-2.1.0/sysroots/cortexa7hf-neon-poky-linux-gnueabi)# cache flags set(CMAKE_C_FLAGS ${CMAKE_C_FLAGS} CACHE STRING c flags) set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} CACHE STRING c flags) cmake使用 新建个cmake_test项目文件夹内部新建hello.c文件源码。 #include stdio.hint main(){printf(hello world\n);return 0; } 编写CMakeLists.txt文件注释掉的内容可以不用管其实内容很少。 cmake_minimum_required(VERSION 3.12)project(HELLO)#add_definitions(# -D_ENABLE_LOGGING #)set(SRC_LIST hello.c)#add library(libhello SHARED hello.c) #set_target_properties(libhello PROPERTIES OUTPUT NAME hello) add_executable(hello ${SRC_LIST}) #target_link_libraries(hello libhello) 开始编译  在项目根目录下创建build目录然后cd build,先进入build目录。注意需要指定-DCMAKE_TOOLCHAIN_FILE。 #先加载环境变量 source /opt/fsl-imx-x11/4.1.15-2.1.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi #在项目根目录,cd build,先进入build目录 cmake -DCMAKE_BUILD_TYPERelease -DCMAKE_TOOLCHAIN_FILE../toolchains/arm-poky-linux-gnueabi.cmake ../最终生成了可以在板子上执行的可执行文件。 QT交叉编译环境下的cmake脚本 示例demomain.cpp: #include QCoreApplication #includeQDebug #include QDirint main(int argc, char *argv[]) {QCoreApplication a(argc, argv);qDebug() hello QT test;return a.exec(); }QT项目的交叉编译环境下的cmake脚本 cmake_minimum_required(VERSION 3.12)project(helloqt)add_definitions(-D_ENABLE_LOGGING )#set(CMAKE_PREFIX_PATH /opt/fsl-imx-x11/4.1.15-2.1.0/sysroots/cortexa7hf-neon-poky-linux-gnueabi/usr/lib/cmake)set(BUILD_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../build_out) get_filename_component(ABSOLUTE_PATH ${BUILD_DIRECTORY} ABSOLUTE) set(BUILD_DIRECTORY ${ABSOLUTE_PATH})#################### QT dependencies #################### set(CMAKE_CXX_STANDARD 11) set(CMAKE_AUTOMOC ON) set(CMAKE_AUTORCC ON) set(CMAKE_AUTOUIC ON)set(QT_VERSION 5) set(CMAKE_CROSSCOMPILING TRUE) set(OE_QMAKE_PATH_EXTERNAL_HOST_BINS /opt/fsl-imx-x11/4.1.15-2.1.0/sysroots/x86_64-pokysdk-linux/usr/bin)set(REQUIRED_LIBS Core Quick Widgets) set(REQUIRED_LIBS_QUALIFIED Qt5::Core Qt5::Quick Qt5::Widgets)#################### set output directory #################### set(BUILD_DIR ${BUILD_DIRECTORY}) set(LIB_DIR ${BUILD_DIR}/lib/Release) #set(LIB_FIX) #if (CMAKE_BUILD_TYPE MATCHES Debug) # set(LIB_DIR ${BUILD_DIR}/lib/Debug) # set(LIB_FIX _d) #endif ()#get_filename_component(ABSOLUTE_PATH ${LIB_DIR} ABSOLUTE) #set(LIB_DIR ${ABSOLUTE_PATH})set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${LIB_DIR}) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${LIB_DIR}) set(CMAKE_PDB_OUTPUT_DIRECTORY ${LIB_DIR}) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${LIB_DIR})#set(LIB_DIR_FIX ${LIB_DIR}) #option(USE_VS_BUILD use visual studio build. OFF) #if (USE_VS_BUILD) # set(LIB_DIR_FIX ${LIB_DIR}/bin/Debug) #endif () ###########set include path #################### include_directories(${CMAKE_CURRENT_SOURCE_DIR}/${BUILD_DIR}/include )#################### scan source files #################### aux_source_directory(${CMAKE_CURRENT_SOURCE_DIR}/ SRC_FILES) #aux_source_directory(${CMAKE_CURRENT_SOURCE_DIR}/source/cpp/test2 SRC_FILES)#set(SRC_LIST hello.c)#add library(libhello SHARED hello.c) #set_target_properties(libhello PROPERTIES OUTPUT NAME hello) find_package(Qt${QT_VERSION} COMPONENTS ${REQUIRED_LIBS} REQUIRED) #find_package(Qt5 COMPONENTS Widgets)add_executable(${PROJECT_NAME} ${SRC_FILES}) #target_link_libraries(hello libhello)#################### set target dependencies ####################set(THIRD_LIBS )target_link_libraries(${PROJECT_NAME} PRIVATE ${REQUIRED_LIBS_QUALIFIED} ${THIRD_LIBS})报错信息 报错解决办法 根据错误提示提示表明在CMake中找不到OE_QMAKE_PATH_EXTERNAL_HOST_BINS变量。这是因为您的交叉编译环境中没有设置正确的OpenEmbeddedOE环境变量。 可以在CMakeLists.txt文件中添加以下行来设置OE_QMAKE_PATH_EXTERNAL_HOST_BINS变量。它的目的是为了找到qmake的位置。因此可以设置如下 set(QT_VERSION 5) set(CMAKE_CROSSCOMPILING TRUE) set(OE_QMAKE_PATH_EXTERNAL_HOST_BINS /opt/fsl-imx-x11/4.1.15-2.1.0/sysroots/x86_64-pokysdk-linux/usr/bin)开始编译  cmake -DCMAKE_BUILD_TYPERelease -DCMAKE_TOOLCHAIN_FILE../toolchains/arm-poky-linux-gnueabi.cmake -DCMAKE_PREFIX_PATH/opt/fsl-imx-x11/4.1.15-2.1.0/sysroots/cortexa7hf-neon-poky-linux-gnueabi/usr/lib/cmake ../ 如果嫌上面这串命令有点儿长可以把-DCMAKE_PREFIX_PATH写固定到CMakeLists.txt文件里。如下(带不带都行) set(CMAKE_PREFIX_PATH /opt/fsl-imx-x11/4.1.15-2.1.0/sysroots/cortexa7hf-neon-poky-linux-gnueabi/usr/lib/cmake) 最后编译成功啦终于可以在嵌入式环境下愉快的使用cmake来编译qt的工程。如果不想安装使用qtcreater这个庞大IDE的话。或者想使用脚本的方式编译qt项目使用cmake是个不错的选择。 经过以上操作成功生成helloqt可执行文件。把该文件放置到开发板上可以看到执行效果。生成的可执行文件的位置在build_out/lib/Release/路径下。 其他资源 https://m.elecfans.com/article/2012326.html CMAKE介绍和使用Linux平台_cmake linux_L888666Q的博客-CSDN博客 【cmake实战一】linux下安装cmake的两个方法_cmake安装_郑同学的笔记的博客-CSDN博客 cmake超详细入门教程_cmake编译流程_yygr的博客-CSDN博客 利用VSCodecmakeGDBgdbserver调试IMX6ULL的Linux C应用程序_imx6ull cmake_生啃枸杞的博客-CSDN博客
http://www.yutouwan.com/news/318423/

相关文章:

  • 网站源码网站电商培训机构排名
  • 浏览器打开网站404网站优化推广 site
  • 网站手机端制作软件个人怎么做微信公众号和微网站吗
  • oecms(php企业网站管理系统)姜堰住房和城乡建设厅网站首页
  • 动漫网站开发设计思想手机有些网站打不开怎么解决
  • 公司网站简介怎么做wordpress汉化插件软件
  • 免费合同模板网站中国招标网官网首页
  • 襄樊seo快速排名seo引擎优化工具
  • 一个网站备案号是冒用其它公司的企业文化培训心得体会
  • 天津营销网站建设联系方式成都网站建设 平易云
  • 网站帮助中心设计邯郸招工信息网
  • 怎样在手机上制作网站visual studio
  • 网站双机热备怎么做西安市做网站公司有哪些
  • 网站没有icp备案怎么访问南昌装修公司
  • 网站建设 案例互联网装饰网站
  • 销售网站模板搭建视频服务器
  • 网站开发流程pptwordpress指定关键词自动内链
  • 珠宝企业的门户网站开发知乎自媒体平台注册
  • wamp在网站建设中的功能及协作关系深圳网站seo优化公司
  • 阿里云备案 网站备案域名购买什么网站从做系统
  • 营销型网站建设调查表如何做公司介绍视频网站
  • 如何备份网站网站做营销推广的公司
  • 商丘网站建设推广渠道企业网站建设的意义
  • 票务网站开发端口iis网站目录权限
  • 做灯饰的企业都会在哪些网站网站设计规划说明书
  • 网站推广哪个平台好中英文网站栏目修改
  • 海南网站优化公司广州市网络预约出租汽车综合业务管理平台
  • 新做的网站怎样让百度收录金华网站建设公司
  • 上海市网站建设公司58wordpress 猫
  • 自适应自助建站网站人才招聘网站建设