高通8155平台YOCTO CMAKE 编译问题解决方法

2023-05-16

硬件平台:高通8155

软件平台:yocoto linux + ubuntu16.04

最近开始接触8155平台,发现编译阶段出现cmake编译失败,网上搜了一下没有相关的解决方案,因此自己研究了下并记录一下,方便有需要的同行快速解决。

问题描述:

| [ 93%] Building CXX object Source/CMakeFiles/CTestLib.dir/LexerParser/cmCTestResourceGroupsLexer.cxx.o
| cd /home/CN/yongfeng.liu/SA8155_LV_1_0_v2/apps/apps_proc/poky/build/tmp-glibc/work/x86_64-linux/cmake-native/3.19.5-r0/build/Source && /home/CN/yongfeng.liu/SA8155_LV_1_0_v2/apps/apps_proc/poky/build/tmp-glibc/hosttools/g++ -DLIBARCHIVE_STATIC -I/home/CN/yongfeng.liu/SA8155_LV_1_0_v2/apps/apps_proc/poky/build/tmp-glibc/work/x86_64-linux/cmake-native/3.19.5-r0/build/Utilities -I/home/CN/yongfeng.liu/SA8155_LV_1_0_v2/apps/apps_proc/poky/build/tmp-glibc/work/x86_64-linux/cmake-native/3.19.5-r0/build/Source -I/home/CN/yongfeng.liu/SA8155_LV_1_0_v2/apps/apps_proc/poky/build/tmp-glibc/work/x86_64-linux/cmake-native/3.19.5-r0/cmake-3.19.5/Source -I/home/CN/yongfeng.liu/SA8155_LV_1_0_v2/apps/apps_proc/poky/build/tmp-glibc/work/x86_64-linux/cmake-native/3.19.5-r0/cmake-3.19.5/Source/LexerParser -I/home/CN/yongfeng.liu/SA8155_LV_1_0_v2/apps/apps_proc/poky/build/tmp-glibc/work/x86_64-linux/cmake-native/3.19.5-r0/cmake-3.19.5/Source/CTest -I/home/CN/yongfeng.liu/SA8155_LV_1_0_v2/apps/apps_proc/poky/build/tmp-glibc/work/x86_64-linux/cmake-native/3.19.5-r0/cmake-3.19.5/Source/CPack -isystem /home/CN/yongfeng.liu/SA8155_LV_1_0_v2/apps/apps_proc/poky/build/tmp-glibc/work/x86_64-linux/cmake-native/3.19.5-r0/cmake-3.19.5/Utilities/std -isystem /home/CN/yongfeng.liu/SA8155_LV_1_0_v2/apps/apps_proc/poky/build/tmp-glibc/work/x86_64-linux/cmake-native/3.19.5-r0/cmake-3.19.5/Utilities -isystem/home/CN/yongfeng.liu/SA8155_LV_1_0_v2/apps/apps_proc/poky/build/tmp-glibc/work/x86_64-linux/cmake-native/3.19.5-r0/recipe-sysroot-native/usr/include -O2 -pipe -O3 -DNDEBUG -std=c++14 -o CMakeFiles/CTestLib.dir/LexerParser/cmCTestResourceGroupsLexer.cxx.o -c /home/CN/yongfeng.liu/SA8155_LV_1_0_v2/apps/apps_proc/poky/build/tmp-glibc/work/x86_64-linux/cmake-native/3.19.5-r0/cmake-3.19.5/Source/LexerParser/cmCTestResourceGroupsLexer.cxx
| [ 93%] Linking CXX static library libCPackLib.a
| cd /home/CN/yongfeng.liu/SA8155_LV_1_0_v2/apps/apps_proc/poky/build/tmp-glibc/work/x86_64-linux/cmake-native/3.19.5-r0/build/Source && /home/CN/yongfeng.liu/SA8155_LV_1_0_v2/apps/apps_proc/poky/build/tmp-glibc/work/x86_64-linux/cmake-native/3.19.5-r0/build/Bootstrap.cmk/cmake -P CMakeFiles/CPackLib.dir/cmake_clean_target.cmake
| cd /home/CN/yongfeng.liu/SA8155_LV_1_0_v2/apps/apps_proc/poky/build/tmp-glibc/work/x86_64-linux/cmake-native/3.19.5-r0/build/Source && /home/CN/yongfeng.liu/SA8155_LV_1_0_v2/apps/apps_proc/poky/build/tmp-glibc/work/x86_64-linux/cmake-native/3.19.5-r0/build/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/CPackLib.dir/link.txt --verbose=1
| /home/CN/yongfeng.liu/SA8155_LV_1_0_v2/apps/apps_proc/poky/build/tmp-glibc/hosttools/ar qc libCPackLib.a CMakeFiles/CPackLib.dir/CPack/cmCPackArchiveGenerator.cxx.o CMakeFiles/CPackLib.dir/CPack/cmCPackComponentGroup.cxx.o CMakeFiles/CPackLib.dir/CPack/cmCPackDebGenerator.cxx.o CMakeFiles/CPackLib.dir/CPack/cmCPackExternalGenerator.cxx.o CMakeFiles/CPackLib.dir/CPack/cmCPackGeneratorFactory.cxx.o CMakeFiles/CPackLib.dir/CPack/cmCPackGenerator.cxx.o CMakeFiles/CPackLib.dir/CPack/cmCPackLog.cxx.o CMakeFiles/CPackLib.dir/CPack/cmCPackNSISGenerator.cxx.o CMakeFiles/CPackLib.dir/CPack/cmCPackNuGetGenerator.cxx.o CMakeFiles/CPackLib.dir/CPack/cmCPackSTGZGenerator.cxx.o CMakeFiles/CPackLib.dir/CPack/IFW/cmCPackIFWCommon.cxx.o CMakeFiles/CPackLib.dir/CPack/IFW/cmCPackIFWGenerator.cxx.o CMakeFiles/CPackLib.dir/CPack/IFW/cmCPackIFWInstaller.cxx.o CMakeFiles/CPackLib.dir/CPack/IFW/cmCPackIFWPackage.cxx.o CMakeFiles/CPackLib.dir/CPack/IFW/cmCPackIFWRepository.cxx.o CMakeFiles/CPackLib.dir/CPack/cmCPackRPMGenerator.cxx.o
| /home/CN/yongfeng.liu/SA8155_LV_1_0_v2/apps/apps_proc/poky/build/tmp-glibc/hosttools/ranlib libCPackLib.a
| ../../Utilities/cmlibarchive/libarchive/libcmlibarchive.a(archive_read_support_filter_zstd.c.o): In function `zstd_filter_close':
| archive_read_support_filter_zstd.c:(.text+0x9): undefined reference to `ZSTD_freeDStream'
| ../../Utilities/cmlibarchive/libarchive/libcmlibarchive.a(archive_read_support_filter_zstd.c.o): In function `zstd_bidder_init':
| archive_read_support_filter_zstd.c:(.text+0x3e): undefined reference to `ZSTD_DStreamOutSize'
| archive_read_support_filter_zstd.c:(.text+0x72): undefined reference to `ZSTD_createDStream'
| archive_read_support_filter_zstd.c:(.text+0xe5): undefined reference to `ZSTD_freeDStream'
| ../../Utilities/cmlibarchive/libarchive/libcmlibarchive.a(archive_read_support_filter_zstd.c.o): In function `zstd_filter_read':
| archive_read_support_filter_zstd.c:(.text+0x207): undefined reference to `ZSTD_decompressStream'
| archive_read_support_filter_zstd.c:(.text+0x253): undefined reference to `ZSTD_initDStream'
| ../../Utilities/cmlibarchive/libarchive/libcmlibarchive.a(archive_write_add_filter_zstd.c.o): In function `archive_compressor_zstd_free':
| archive_write_add_filter_zstd.c:(.text+0x12): undefined reference to `ZSTD_freeCStream'
| ../../Utilities/cmlibarchive/libarchive/libcmlibarchive.a(archive_write_add_filter_zstd.c.o): In function `archive_compressor_zstd_open':
| archive_write_add_filter_zstd.c:(.text+0xc1): undefined reference to `ZSTD_initCStream'
| archive_write_add_filter_zstd.c:(.text+0xe1): undefined reference to `ZSTD_CStreamOutSize'
| ../../Utilities/cmlibarchive/libarchive/libcmlibarchive.a(archive_write_add_filter_zstd.c.o): In function `archive_compressor_zstd_write':
| archive_write_add_filter_zstd.c:(.text+0x1d7): undefined reference to `ZSTD_compressStream'
| ../../Utilities/cmlibarchive/libarchive/libcmlibarchive.a(archive_write_add_filter_zstd.c.o): In function `archive_compressor_zstd_close':
| archive_write_add_filter_zstd.c:(.text+0x298): undefined reference to `ZSTD_endStream'
| ../../Utilities/cmlibarchive/libarchive/libcmlibarchive.a(archive_write_add_filter_zstd.c.o): In function `archive_write_add_filter_zstd':
| archive_write_add_filter_zstd.c:(.text+0x3ac): undefined reference to `ZSTD_createCStream'
| collect2: error: ld returned 1 exit status
| Source/CursesDialog/CMakeFiles/ccmake.dir/build.make:315: recipe for target 'bin/ccmake' failed
| make[2]: *** [bin/ccmake] Error 1
| make[2]: Leaving directory '/home/CN/yongfeng.liu/SA8155_LV_1_0_v2/apps/apps_proc/poky/build/tmp-glibc/work/x86_64-linux/cmake-native/3.19.5-r0/build'
| CMakeFiles/Makefile2:2176: recipe for target 'Source/CursesDialog/CMakeFiles/ccmake.dir/all' failed
| make[1]: *** [Source/CursesDialog/CMakeFiles/ccmake.dir/all] Error 2
| make[2]: Leaving directory '/home/CN/yongfeng.liu/SA8155_LV_1_0_v2/apps/apps_proc/poky/build/tmp-glibc/work/x86_64-linux/cmake-native/3.19.5-r0/build'
| [ 93%] Built target CPackLib
| [ 93%] Linking CXX static library libCMakeServerLib.a
| cd /home/CN/yongfeng.liu/SA8155_LV_1_0_v2/apps/apps_proc/poky/build/tmp-glibc/work/x86_64-linux/cmake-native/3.19.5-r0/build/Source && /home/CN/yongfeng.liu/SA8155_LV_1_0_v2/apps/apps_proc/poky/build/tmp-glibc/work/x86_64-linux/cmake-native/3.19.5-r0/build/Bootstrap.cmk/cmake -P CMakeFiles/CMakeServerLib.dir/cmake_clean_target.cmake
| cd /home/CN/yongfeng.liu/SA8155_LV_1_0_v2/apps/apps_proc/poky/build/tmp-glibc/work/x86_64-linux/cmake-native/3.19.5-r0/build/Source && /home/CN/yongfeng.liu/SA8155_LV_1_0_v2/apps/apps_proc/poky/build/tmp-glibc/work/x86_64-linux/cmake-native/3.19.5-r0/build/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/CMakeServerLib.dir/link.txt --verbose=1
| /home/CN/yongfeng.liu/SA8155_LV_1_0_v2/apps/apps_proc/poky/build/tmp-glibc/hosttools/ar qc libCMakeServerLib.a CMakeFiles/CMakeServerLib.dir/cmConnection.cxx.o CMakeFiles/CMakeServerLib.dir/cmFileMonitor.cxx.o CMakeFiles/CMakeServerLib.dir/cmJsonObjects.cxx.o CMakeFiles/CMakeServerLib.dir/cmPipeConnection.cxx.o CMakeFiles/CMakeServerLib.dir/cmServer.cxx.o CMakeFiles/CMakeServerLib.dir/cmServerConnection.cxx.o CMakeFiles/CMakeServerLib.dir/cmServerProtocol.cxx.o
| /home/CN/yongfeng.liu/SA8155_LV_1_0_v2/apps/apps_proc/poky/build/tmp-glibc/hosttools/ranlib libCMakeServerLib.a
| make[2]: Leaving directory '/home/CN/yongfeng.liu/SA8155_LV_1_0_v2/apps/apps_proc/poky/build/tmp-glibc/work/x86_64-linux/cmake-native/3.19.5-r0/build'
| [ 93%] Built target CMakeServerLib
| [ 93%] Linking CXX static library libCTestLib.a
| cd /home/CN/yongfeng.liu/SA8155_LV_1_0_v2/apps/apps_proc/poky/build/tmp-glibc/work/x86_64-linux/cmake-native/3.19.5-r0/build/Source && /home/CN/yongfeng.liu/SA8155_LV_1_0_v2/apps/apps_proc/poky/build/tmp-glibc/work/x86_64-linux/cmake-native/3.19.5-r0/build/Bootstrap.cmk/cmake -P CMakeFiles/CTestLib.dir/cmake_clean_target.cmake
| cd /home/CN/yongfeng.liu/SA8155_LV_1_0_v2/apps/apps_proc/poky/build/tmp-glibc/work/x86_64-linux/cmake-native/3.19.5-r0/build/Source && /home/CN/yongfeng.liu/SA8155_LV_1_0_v2/apps/apps_proc/poky/build/tmp-glibc/work/x86_64-linux/cmake-native/3.19.5-r0/build/Bootstrap.cmk/cmake -E cmake_link_script CMakeFiles/CTestLib.dir/link.txt --verbose=1
| /home/CN/yongfeng.liu/SA8155_LV_1_0_v2/apps/apps_proc/poky/build/tmp-glibc/hosttools/ar qc libCTestLib.a CMakeFiles/CTestLib.dir/cmCTest.cxx.o CMakeFiles/CTestLib.dir/CTest/cmProcess.cxx.o CMakeFiles/CTestLib.dir/CTest/cmCTestBinPacker.cxx.o CMakeFiles/CTestLib.dir/CTest/cmCTestBuildAndTestHandler.cxx.o CMakeFiles/CTestLib.dir/CTest/cmCTestBuildCommand.cxx.o CMakeFiles/CTestLib.dir/CTest/cmCTestBuildHandler.cxx.o CMakeFiles/CTestLib.dir/CTest/cmCTestConfigureCommand.cxx.o CMakeFiles/CTestLib.dir/CTest/cmCTestConfigureHandler.cxx.o CMakeFiles/CTestLib.dir/CTest/cmCTestCoverageCommand.cxx.o CMakeFiles/CTestLib.dir/CTest/cmCTestCoverageHandler.cxx.o CMakeFiles/CTestLib.dir/CTest/cmCTestCurl.cxx.o CMakeFiles/CTestLib.dir/CTest/cmParseMumpsCoverage.cxx.o CMakeFiles/CTestLib.dir/CTest/cmParseCacheCoverage.cxx.o CMakeFiles/CTestLib.dir/CTest/cmParseGTMCoverage.cxx.o CMakeFiles/CTestLib.dir/CTest/cmParseJacocoCoverage.cxx.o CMakeFiles/CTestLib.dir/CTest/cmParseBlanketJSCoverage.cxx.o CMakeFiles/CTestLib.dir/CTest/cmParsePHPCoverage.cxx.o CMakeFiles/CTestLib.dir/CTest/cmParseCoberturaCoverage.cxx.o CMakeFiles/CTestLib.dir/CTest/cmParseDelphiCoverage.cxx.o CMakeFiles/CTestLib.dir/CTest/cmCTestEmptyBinaryDirectoryCommand.cxx.o CMakeFiles/CTestLib.dir/CTest/cmCTestGenericHandler.cxx.o CMakeFiles/CTestLib.dir/CTest/cmCTestHandlerCommand.cxx.o CMakeFiles/CTestLib.dir/CTest/cmCTestResourceAllocator.cxx.o CMakeFiles/CTestLib.dir/CTest/cmCTestResourceSpec.cxx.o CMakeFiles/CTestLib.dir/CTest/cmCTestLaunch.cxx.o CMakeFiles/CTestLib.dir/CTest/cmCTestLaunchReporter.cxx.o CMakeFiles/CTestLib.dir/CTest/cmCTestMemCheckCommand.cxx.o CMakeFiles/CTestLib.dir/CTest/cmCTestMemCheckHandler.cxx.o CMakeFiles/CTestLib.dir/CTest/cmCTestMultiProcessHandler.cxx.o CMakeFiles/CTestLib.dir/CTest/cmCTestReadCustomFilesCommand.cxx.o CMakeFiles/CTestLib.dir/CTest/cmCTestResourceGroupsLexerHelper.cxx.o CMakeFiles/CTestLib.dir/CTest/cmCTestRunScriptCommand.cxx.o CMakeFiles/CTestLib.dir/CTest/cmCTestRunTest.cxx.o CMakeFiles/CTestLib.dir/CTest/cmCTestScriptHandler.cxx.o CMakeFiles/CTestLib.dir/CTest/cmCTestSleepCommand.cxx.o CMakeFiles/CTestLib.dir/CTest/cmCTestStartCommand.cxx.o CMakeFiles/CTestLib.dir/CTest/cmCTestSubmitCommand.cxx.o CMakeFiles/CTestLib.dir/CTest/cmCTestSubmitHandler.cxx.o CMakeFiles/CTestLib.dir/CTest/cmCTestTestCommand.cxx.o CMakeFiles/CTestLib.dir/CTest/cmCTestTestHandler.cxx.o CMakeFiles/CTestLib.dir/CTest/cmCTestUpdateCommand.cxx.o CMakeFiles/CTestLib.dir/CTest/cmCTestUpdateHandler.cxx.o CMakeFiles/CTestLib.dir/CTest/cmCTestUploadCommand.cxx.o CMakeFiles/CTestLib.dir/CTest/cmCTestUploadHandler.cxx.o CMakeFiles/CTestLib.dir/CTest/cmCTestVC.cxx.o CMakeFiles/CTestLib.dir/CTest/cmCTestGlobalVC.cxx.o CMakeFiles/CTestLib.dir/CTest/cmCTestCVS.cxx.o CMakeFiles/CTestLib.dir/CTest/cmCTestSVN.cxx.o CMakeFiles/CTestLib.dir/CTest/cmCTestBZR.cxx.o CMakeFiles/CTestLib.dir/CTest/cmCTestGIT.cxx.o CMakeFiles/CTestLib.dir/CTest/cmCTestHG.cxx.o CMakeFiles/CTestLib.dir/CTest/cmCTestP4.cxx.o CMakeFiles/CTestLib.dir/LexerParser/cmCTestResourceGroupsLexer.cxx.o
| /home/CN/yongfeng.liu/SA8155_LV_1_0_v2/apps/apps_proc/poky/build/tmp-glibc/hosttools/ranlib libCTestLib.a
| make[2]: Leaving directory '/home/CN/yongfeng.liu/SA8155_LV_1_0_v2/apps/apps_proc/poky/build/tmp-glibc/work/x86_64-linux/cmake-native/3.19.5-r0/build'
| [ 93%] Built target CTestLib
| make[1]: Leaving directory '/home/CN/yongfeng.liu/SA8155_LV_1_0_v2/apps/apps_proc/poky/build/tmp-glibc/work/x86_64-linux/cmake-native/3.19.5-r0/build'
| Makefile:184: recipe for target 'all' failed
| make: *** [all] Error 2
| WARNING: /home/CN/yongfeng.liu/SA8155_LV_1_0_v2/apps/apps_proc/poky/build/tmp-glibc/work/x86_64-linux/cmake-native/3.19.5-r0/temp/run.do_compile.3918:1 exit 1 from 'exit 1'
| 
ERROR: Task (/home/CN/yongfeng.liu/SA8155_LV_1_0_v2/apps/apps_proc/poky/meta/recipes-devtools/cmake/cmake-native_3.19.5.bb:do_compile) failed with exit code '1'
NOTE: Tasks Summary: Attempted 5070 tasks of which 4104 didn't need to be rerun and 1 failed.
NOTE: Writing buildhistory
NOTE: Writing buildhistory took: 4 seconds

Summary: 1 task failed:
  /home/CN/yongfeng.liu/SA8155_LV_1_0_v2/apps/apps_proc/poky/meta/recipes-devtools/cmake/cmake-native_3.19.5.bb:do_compile
Summary: There were 116 WARNING messages shown.
Summary: There were 2 ERROR messages shown, returning a non-zero exit code.
/home/CN/yongfeng.liu/SA8155_LV_1_0_v2/apps/apps_proc/poky/build
==== Error run 'cdbitbake machine-image'. (build-sa8155agl-perf-image)

查看以上log信息,发现是因为zstd头文件出行未定义错误:

| archive_read_support_filter_zstd.c:(.text+0x9): undefined reference to `ZSTD_freeDStream'
| ../../Utilities/cmlibarchive/libarchive/libcmlibarchive.a(archive_read_support_filter_zstd.c.o): In function `zstd_bidder_init':
| archive_read_support_filter_zstd.c:(.text+0x3e): undefined reference to `ZSTD_DStreamOutSize'
| archive_read_support_filter_zstd.c:(.text+0x72): undefined reference to `ZSTD_createDStream'
| archive_read_support_filter_zstd.c:(.text+0xe5): undefined reference to `ZSTD_freeDStream'
| ../../Utilities/cmlibarchive/libarchive/libcmlibarchive.a(archive_read_support_filter_zstd.c.o): In function `zstd_filter_read':
| archive_read_support_filter_zstd.c:(.text+0x207): undefined reference to `ZSTD_decompressStream'
| archive_read_support_filter_zstd.c:(.text+0x253): undefined reference to `ZSTD_initDStream'
| ../../Utilities/cmlibarchive/libarchive/libcmlibarchive.a(archive_write_add_filter_zstd.c.o): In function `archive_compressor_zstd_free':
| archive_write_add_filter_zstd.c:(.text+0x12): undefined reference to `ZSTD_freeCStream'
| ../../Utilities/cmlibarchive/libarchive/libcmlibarchive.a(archive_write_add_filter_zstd.c.o): In function `archive_compressor_zstd_open':
| archive_write_add_filter_zstd.c:(.text+0xc1): undefined reference to `ZSTD_initCStream'
| archive_write_add_filter_zstd.c:(.text+0xe1): undefined reference to `ZSTD_CStreamOutSize'
| ../../Utilities/cmlibarchive/libarchive/libcmlibarchive.a(archive_write_add_filter_zstd.c.o): In function `archive_compressor_zstd_write':
| archive_write_add_filter_zstd.c:(.text+0x1d7): undefined reference to `ZSTD_compressStream'
| ../../Utilities/cmlibarchive/libarchive/libcmlibarchive.a(archive_write_add_filter_zstd.c.o): In function `archive_compressor_zstd_close':
| archive_write_add_filter_zstd.c:(.text+0x298): undefined reference to `ZSTD_endStream'
| ../../Utilities/cmlibarchive/libarchive/libcmlibarchive.a(archive_write_add_filter_zstd.c.o): In function `archive_write_add_filter_zstd':
| archive_write_add_filter_zstd.c:(.text+0x3ac): undefined reference to `ZSTD_createCStream'

在yocto系统中,编译时会先下载cmake源码,然后配置,最后编译。

查看cmake的源码和配置方法,发现CMAKE_USE_SYSTEM_ZSTD:BOOL=NO,表示cmake编译会采用系统的zstd,改为OFF之后可以编译通过。

~/SA8155_LV_1_0_v2/apps/apps_proc/poky/build/tmp-glibc/work/x86_64-linux/cmake-native/3.16.5-r0$ vim build/CMakeCache.txt +297

  //Use system-installed zstd
CMAKE_USE_SYSTEM_ZSTD:BOOL=OFF

是否可以通过配置来避免呢?查看cmake的配置信息:

  --system-zstd           use system-installed zstd library
  --no-system-zstd        use cmake-provided zstd library (default)  --- 关键信息
  --system-libarchive     use system-installed libarchive library
  --no-system-libarchive  use cmake-provided libarchive library (default)

其中的--no-system-zstd        use cmake-provided zstd library (default),正是我们要找的。那么如何修改呢?这里需要一点bitbake的基础知识,每个recipe中,可以找到*.bb文件,里面会定义配置阶段的操作,如下:

apps/apps_proc/poky/meta/recipes-devtools/cmake/cmake-native_3.16.5.bb

do_configure () {
	${S}/configure --verbose --prefix=${prefix} --no-system-zstd \
		${@oe.utils.parallel_make_argument(d, '--parallel=%d')} \
		${@bb.utils.contains('CCACHE', 'ccache ', '--enable-ccache', '', d)} \
		-- ${CMAKE_EXTRACONF}
}

这里增加了--no-system-zstd选项。

只需要在这里加上--no-system-zstd即可。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

高通8155平台YOCTO CMAKE 编译问题解决方法 的相关文章

随机推荐

  • Python+Matplotlib 制作排序算法的动画

    1 算法的魅力 深刻研究排序算法是入门算法较为好的一种方法 xff0c 现在还记得4年前手动实现常见8种排序算法 xff0c 通过随机生成一些数据 xff0c 逐个校验代码实现的排序过程是否与预期的一致 xff0c 越做越有劲 xff0c
  • 浏览器打不开某些网站是什么原因导致,试试用这些方法来解决

    不少小伙伴使用一些浏览器浏览网页的时候 xff0c 发现打不开某些网站 xff0c 这是什么原因导致的呢 本文讲汇总几个常见的原因 xff0c 我们可以通过以下几个原因排查 xff0c 并且使用下文的解决方法可以试试能否打开网站 打不开网站
  • Android设备的电池续航时间优化(Optimizing Battery Life)——(一)监听电池电量和电池的充电状态...

    当你想通过减少后台更新服务的更新频率来降低程序对电池的影响时 xff0c 检查电池当前的电量和充电状态将是一个比较好的起点 程序更新对电池造成的影响将取决于当前电池电量和充电状态 xff0c 比如说 xff0c 当设备正在充电的时候 xff
  • 如何利用github打造博客专属域名

    转载请标明出处 xff1a http blog csdn net lmj623565791 article details 51319147 xff1b 本文出自 张鸿洋的博客 一 概述 哈 xff0c 本篇博客不属于Android技术类的
  • 基于HTML5实现的在线3D虚拟试衣系统(试衣间)解决方案

    3D虚拟试衣系统的使用场景主要是在线电商或数字营销 xff0c 为品牌服装 服饰 饰品添加高端3D虚拟购物动效 xff0c 提升用户感官体验和交互体验 要研发这样的在线系统 xff0c 有2个方向 xff0c 一个是使用Flash或Unit
  • 2011移动开发者大会亮点之一:六大精彩主题论坛抢鲜看

    2011中国移动开发者大会将是2011年度中国最大规模的移动盛事 本次大会全面覆盖软件应用和服务 平台 运营商 终端 芯片等移动产业链各个领域 xff0c 与此同时 xff0c 专注于产业链中最活跃的因素 应用软件的研发 创新与商业模式 x
  • collections的max()

    java util Collections的max方法可以获得集合中的最大值 xff1b 之前取map的最大key值 xff0c 还得自己写方法 xff0c 原来有现成的 xff1b max Collection lt extends T
  • “河软CSDN2011级表彰暨实习动员大会”顺利召开!

    9点30分 伴随着激昂的开场曲 xff0c 主持人走到台前 xff01 河软CSDN2011级表彰暨 实习动员大会即将开始 xff0c 请各位嘉宾入场 xff01 他们分别是 CSDN教育事业部总经 理李天山先生 河北软件职业技术学院 软件
  • ubuntu系统adb shell无法连接设备解决方法

    1 问题描述 xff1a alex 64 ubuntu adb shell daemon not running starting now at tcp 5037 daemon started successfully error insu
  • IT毕业生给学弟学妹们的真心话——离校座谈记录

    活动 xff1a 2009级毕业生离校前座谈 地点 xff1a 烟台大学计算机学院4409学业指导工作室 组织 xff1a 烟台大学CSDN高校俱乐部 时间 xff1a 2013年6月1日 上午8 30 参加人员 xff1a 主持人 xff
  • 生活就是工作学习锻炼身体

    多做事情多学习 少浪费时间 业精于勤荒于嬉 xff0c 行成于思而毁于随
  • golang之路--时间格式化

    有人问了问go的时间格式化问题 xff0c 于是乎自己尝试了下 xff0c 发现巨坑爹 xff0c 不按常理出牌啊 format的竟然模版必须如下面的每个数字 fuck t 61 time Unix 1362984425 0 nt 61 t
  • 生产者消费者模式C++程序模拟实现

    关于生产者和消费者的分析可以参考 xff1a http blog csdn net kenden23 article details 16340673 这里是利用C 43 43 简单模拟一个生产者消费者的工作模式 没有考虑到同步问题 操作了
  • Active MQ C++实现通讯

    Active MQ C 43 43 实现通讯 Kagula 2011 9 13 简介 在参考资料 2 的基础上介绍如何用C 43 43 调用Active MQ的客户端API 环境 xff1a 1 Windows XP SP3 2 Visua
  • OA工作流设计思路——请大神点评啊

    lt p gt OA工作流设计思路 请大神点评啊 xff0c 很多可能想的不是很到位 lt p gt lt p gt 此设计思路暂时没有包含详细的设计 xff0c 就是一个方向 xff0c 请大神指正下 xff0c 然方案更加完善 xff0
  • 解决Spring AOP 事务 配置 失效原因

    采用AOP配置声明式事务有5种方式 xff0c 下面只说关于采用TransactionInterceptor事务拦截器的方式 xff0c 配置程序如下 xff1a transactionManager xff1a lt bean id 61
  • 兼容chrome与firefox使用offsetWidth得到不同值的问题

    Ext3 x Ext MessageBox alert 在chrome与firefox显示的宽度不一致问题 究其原因是因为msgEl getWidth 得到的值不一致导致的 修正宽度应方法 xff1a chrome xff1a rect 6
  • 内嵌标志表达式

    对应的内嵌标志表达式是 i xff0c 它有四种形式 xff1a 1 xff0c i 2 xff0c i 3 xff0c i X 4 xff0c i X 不带有 的是开标志 xff0c 带有 的是关标志 把上面的代码改成这样 xff1a J
  • LoadRunner 90 Percent设置

    90 Percent 的设置 xff1a tools xff08 工具 xff09 options xff08 选项 xff09 General选项卡最下面有个Summary Report
  • 高通8155平台YOCTO CMAKE 编译问题解决方法

    硬件平台 xff1a 高通8155 软件平台 xff1a yocoto linux 43 ubuntu16 04 最近开始接触8155平台 xff0c 发现编译阶段出现cmake编译失败 xff0c 网上搜了一下没有相关的解决方案 xff0