由于CASCI/CASSCF计算量随活性空间呈指数增长,超过(16,16)的计算在高配机器上几乎不可能。近似求解大活性空间的方法通常有DMRG, selected CI等等。Block-1.5是做DMRG计算的经典程序,由Sandeep Sharma和Garnet Chan开发,虽然早在5年前就不更新了,但其计算速度仍高于很多同类程序。Block-1.5一般结合PySCF使用,可以进行DMRG-CASCI,DMRG-CASSCF和DMRG-SC-NEVPT2等计算。笔者之前在公众号上将该程序的安装拆分为几篇短文
版权声明:本文为博主原创文章,转载请注明源地址。 https://blog.csdn.net/10km/article/details/52652008
大多数研发人员使用 Mac 来调试代码,但我作为不懂研发的 DBA,并且作为 Windows 的粉丝,相信绝大多数运维同学也是使用 Win 的,那我必须使用 Win 了。从这篇文章开始,我尝试摸索 MySQL 源码的学习。
Boost ASIO proactor 浅析 前情提要: Boost asio 的socket的异步非阻塞模式才有的是proactor模式,当IO操作介绍后回调相应的处理函数。ASIO在Linux平台下的实现基于epoll,但是epoll只支持reactor模式,ASIO通过封装在epoll上实现了proactor。提到ASIO proactor,ASIO中的所有异步操作都是基于io_service实现的,io_service是ASIO中的任务队列,并且他负责调用epoll_wait等待IO事件到来,对io
来源:知乎 概要:本文详细介绍了自动驾驶汽车的硬件和软件,以及所需要做的准备工作,每个研发者或者准备投身于无人驾驶领域的人都应该好好看一下。 全球有数不清的公司在忙着研发自动驾驶汽车,他们的产品也千奇百怪,不过基本思路和核心技术是类似的,本文详细介绍了自动驾驶汽车的硬件和软件,以及所需要做的准备工作,每个研发者或者准备投身于无人驾驶领域的人都应该好好看一下。 大家都知道智能车(Intelligent Vehicle)是一个集环境感知、规划决策、多等级辅助驾驶等功能于一体的综合系统,它集中运用了计算机、现
基于Centos6.5源码编译安装mysql-5.7.17过程详解 由于工作需要,需要在centos6.5服务器上安装mysql5.7,如下是详细安装过程。
之前尝试在CentOS7上部署ROOT集群,却发现无论是源码包安装,还是官方提供的二进制包,都缺少了关键的xproofd可执行文件,导致PoD不能运行。没有办法,只能尝试在其他OS上部署,这里我选择了Ubuntu 14.04。
问题版本:0.9.0 make[4]: Entering directory `/tmp/X/thrift-0.9.0/lib/cpp' /bin/sh ../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I../.. -I/usr/local/thirdparty/boost/include -I./src -I./src/thrift -I/usr/local/thirdparty/openssl/include -Wall -g -O2 -MT Thrift.lo -MD -MP -MF .deps/Thrift.Tpo -c -o Thrift.lo `test -f 'src/thrift/Thrift.cpp' || echo './'`src/thrift/Thrift.cpp libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../.. -I/usr/local/thirdparty/boost/include -I./src -I./src/thrift -I/usr/local/thirdparty/openssl/include -Wall -g -O2 -MT Thrift.lo -MD -MP -MF .deps/Thrift.Tpo -c src/thrift/Thrift.cpp -fPIC -DPIC -o .libs/Thrift.o In file included from src/thrift/Thrift.cpp:22: /usr/lib/gcc/x86_64-redhat-linux/4.4.6/../../../../include/c++/4.4.6/cstdlib:119: error: '::malloc' has not been declared /usr/lib/gcc/x86_64-redhat-linux/4.4.6/../../../../include/c++/4.4.6/cstdlib:127: error: '::realloc' has not been declared src/thrift/Thrift.cpp: In member function 'void apache::thrift::TOutput::printf(const char*, ...)': src/thrift/Thrift.cpp:46: error: 'malloc' was not declared in this scope make[4]: *** [Thrift.lo] Error 1 解决方法: 在成功执行configure后(在未执行configure之前找不到下列两行),修改与configure同目录下的config.h文件,将文件中的如下两行注释掉: #define malloc rpl_malloc #define realloc rpl_realloc 附1:安装Thrift命令行: ./configure --prefix=/usr/local/thirdparty/thrift-0.9.0 --with-boost=/usr/local/thirdparty/boost --with-libevent=/usr/local/thirdparty/libevent CPPFLAGS="-I/usr/local/thirdparty/openssl/include" LDFLAGS="-ldl -L/usr/local/thirdparty/openssl/lib" --with-qt4=no --with-c_glib=no --with-csharp=no --with-erlang=no --with-perl=no --with-ruby=no --with-haskell=no --with-go=no --with-d 当OpenSSL未以默认安装目录时,请注意上面的用法。 附2:相关博文: (安装thrift时,注意openssl参数)http://blog.chinaunix.net/uid-20682147-id-3399150.html 如果在使用Thrift时,编译遇到类似“TTransport.h:107: error: 'uint32_t' does not name a type”的错误,只需要在Thrift.h文件中增加一行:#include 。 Thrift.h文件位于make install后的include目录下,如果不知道在哪,可以使用find命令查找。
http://blog.csdn.net/lanxuezaipiao/article/details/24845625
常规操作啦,前面两三篇都是环境搭建。 muduo网络库我就不多做介绍了,一个基于reactor反应堆模型的多线程C++网络库,陈硕大神的作品,不了解的小伙伴可以自行了解一下。
作为良好的习惯,建议为第三方库建立专门的目录,目录取名为thirdparty。然后,再在thirdparty下建立名叫src_package,用来存放第三方库的源码包,如没有特别说明,第三方库默认均为automake编译和安装方式。并且,一般建议将第三方库安装在thirdparty目录下,而不是系统的/usr/local目录下,目的是尽量减少对系统目录的污染,保持系统目录的整洁。 【automake编译和安装方式说明】 通常Linux系统自带automake编译工具,C/C++开源库一般都采用automake编译。 假设源代码库文件名为protobuf-2.4.1.tar.gz,则编译和安装操作步骤如下: 1) 将源代码包文件protobuf-2.4.1.tar.gz上传到Linux机上,这里假设上传到Linux机的/tmp目录 2) 进入/tmp目录 3) 解压源代码包文件:tar xzf protobuf-2.4.1.tar.gz,完成后会在/tmp目录下会出现一个子目录protobuf-2.4.1 4) 进入/tmp的子目录子目录protobuf-2.4.1 5) 执行configure命令,以生成Makefile文件:./configure --prefix=/usr/local/protobuf-2.4.1,这里假设将Protocol Buffers安装到/usr/local/protobuf-2.4.1 6) 上一步会生成编译用的Makefile文件,接下来执行make编译:make 7) make成功后,再执行make install安装 8) 成功后,就可以ls /usr/local/protobuf-2.4.1查看安装结果了; 9) 建立不带版本号的软链接:ln -s /usr/local/protobuf-2.4.1 /usr/local/protobuf 【automake编译和安装方式补充说明】 a) 源代码包如果是protobuf-2.4.1.tar.bz2形式,则表示是bzip2压缩包,而protobuf-2.4.1.tar.gz是gzip压缩包,对于bzip2压缩包,tar解压参数请由xzf改成xjf b) 上述第9步不是必须的,但会是一个良好的Linux风俗,建议保持 c) 注意第5步,如果生成的静态库会被其它共享库使用,则可能需要为configure增加参数,否则在链接生成共享库时,可能会报被链接的静态库需要带-fPIC参数重新编译,这个问题不难解决,如下变通一下即可: ./configure --prefix=/usr/local/protobuf-2.4.1 CXXFLAGS=-fPIC LDFLAGS=-fPIC d) 开源的C/C++库源代码包文件一般都采用类似于protobuf-2.4.1.tar.gz的命名方式 【推荐的编译环境目录结构】 假设有一项目mooon,它的目录结构如下,和SVN目录结构保持一致,但SVN上不存放中间目录和文件,mooon本身可以基于用户主目录,或者其它合适的目录,如/data目录下: mooon |-- doc |-- src `-- thirdparty |-- apr-util |-- boost |-- gflags |-- protobuf |-- sqlite |-- src_package | |-- apr-util-1.5.1.tar.gz | |-- boost_1_53_0.tar.gz | |-- cgicc-3.2.10.tar.gz | |-- gflags-2.0.tar.gz | |-- protobuf-2.4.1.tar.gz | |-- sqlite-autoconf-3071401.tar.gz | `-- thrift-0.9.0.tar.gz `-- thrift 安装openssl: # ./config --prefix=/usr/local/thirdparty/openssl-1.0.2a shared threads 安装httpd(apache),支持https: # ./configure --with-apr=/usr/local/thirdparty/apr-1.4.6 --with-apr-util=/usr/local/thirdparty/apr-util-1.5.1 --with-ssl=/usr/local/thirdparty/openssl-1.0.2a --with-pcre=/usr/local/thirdpar
前言:服务器上没有root权限,不能使用sudo和apt-get无脑安装caffe需要的各种依赖,因此需要手动安装这些依赖库。核心就是将原来apt-get安装在/usr/include,/usr/lib等位置的库,手动安装在我们自己的路径下,即自定义路径安装依赖。 0.根目录下,终端依次执行:
作者:陈光 上汽集团 | 高精度地图&环境建模工程师 量子位 已获授权编辑发布 转载请联系原作者 作为一个在公司义务给应届生和实习生培训的“小师”,结合我自己学习的经历,从操作手册的角度,手把手教你“
https://www.boost.org/users/history/version_1_58_0.html
PCL(Point cloud library) Ubuntu Linux 16 系统之所以会用Linux,很大的原因是应为SLAM在嵌入式平台上面的安置,所以尽量编写在inux下编写,同步arm编程环境的读者有兴趣可以去参考下搭建交叉编译环境 。 #OpenCV的安装 参考本菜的博客中,C++安装opencv的部分 Eigen C++线性代数计算库的安装 在slam的运行当中,会大量的使用到线性代数,为了省去手动写遍历去遍历代码,需要借助eigen去对opencv进行计算 关于Eigen的安
让工作变得有条理,不乱糟糟,即使存在大量的第三方,也有章可循。简而言之,就是要保持目录的干净(如/usr/local目录),保持文件的干净(如profile文件)
这里以Mysql为例。比如说我安装了Mysql,但是不知道文件都安装在哪些地方、放在哪些文件夹里,可以用下面的命令查看所有的文件路径。
3 C++ Boost 字符,文本 目录: 字符与数值转换 Boost format函数 简单实用 Boost format 输出人员信息 小案例 Boost format 数字处理 Boost format 高级特性 Boost String 处理,大小写转换 Boost String 字符串查找 Boost String 字符串判断式 Boost String 字符串替换: Boost String 字符串分割 Boost String trim剔除两边字符 Boost String regex
Milvus 早期通过 FetchContent 和 ExternalProject 这些 CMake 内置方法自动下载依赖,在大部分情况下也够用,但随着 Milvus 内核的能力越来越丰富、依赖项也越来越多,例如要加入 Folly 使用它优化后的线程池、数据结构,要引入 opentelemetry-cpp 增强可观测性等。
软链接是Linux下常用的一种共享文件方式、目录的方式,这种方式类似于Windows下的快捷方式。一般一个文件或者目录在不同的路径都需要的时候,可以通过创建软链接的方式来共享,这样系统下面只有一份源文件、目录。另外,巧用软链接,可以大大增加应用程序的可移植性。
从最小的安装开始,需要以下步骤来在Centos 6.5上构建Apache Thrift。 本示例使用当前的开发主分支从源代码构建。 这些说明也应适用于从0.9.2开始的Apache Thrift发行版。
最近开始使用 robot framework 测试c++的动态库,robot framework 是跑在 windows 上面,c++动态库是跑在远程linux主机上面。测试办法是让 robot framework 通过 SSHLIbrary 库执行远程机器上面的 python 脚本,python 脚本调用 C++ 动态库。所以现在要解决的是怎么让python调用c++动态库。
因为后边要去做人脸检测,需要用到这个dlib库,碰见了一连串的坑,快把自己炸傻了...
最近开始使用 robot framework 测试c++的动态库,robot framework 是跑在 windows 上面,c++动态库是跑在远程linux主机上面。测试办法是让 robot framework 通过 SSHLIbrary 库执行远程机器上面的 python 脚本,python 脚本调用 C++ 动态库。所以现在要解决的是如何让python调用c++动态库。
*.* [当前MySQL实例中所有库下的所有表] wordpress.* [当前MySQL实例中wordpress库中所有表(单库级别)] wordpress.user [当前MySQL实例中wordpress库中的user表(单表级别)]
测试发现编译MySQL5.7以及更高的版本时,都需要下载并引用或者直接安装boost库,否则在执行cmake命令时会报如下错误:
上一篇博客《conan入门(九):NDK交叉编译自己的conan包项目塈profile的定义》中我们以jsonlib为例说明了如何NDK交叉编译自己封装成conan的模块及定义profile简化编译的方式。
2)基于源码安装MySQL,从cmake开始,基本要被bison,curces,boost折腾一波
正则表达式对于解决相当数量的模式匹配(pattern-matching)问题是至关重要的。它们经常被用于处理长字符串、非精确地查找子字符串、根据某些格式tokenize字符串,或者依照某个标准对字符串进行修改。以前C++缺少对于正则表达式的支持,用户不得不求助于其它对正则表达式有强有力支持的语言,比如Perl,awk和sed。Regex对于正则表达式提供高效有力的支持,它遵循与标准模板库(STL)相同的设计理念,这使得它的用法相当直观。Regex已经被即将到来的(标准)库技术报告所采纳。更多信息请参阅“Library 5: Regex”。
crow 是一款轻量级 c++ web 框架。它的设计理念类似 python 的 Flask 框架,轻量级,易于使用,快速。
安装文件下载目录:/data/software Mysql目录安装位置:/usr/local/mysql 数据库保存位置:/data/mysql 日志保存位置:/data/log/mysql
在NDK下编译thrift C++库,先要要编译android版的boost,这个不是本文讨论的内容,关于编译android 版本的boost,参见这个开源项目 Boost-for-Android,很好用。
上一篇博客《conan入门(十):Windows下Android NDK交叉编译Boost》中已经说明了Windows下Android NDK交叉编译Boost的全过程。
1>------ 已启动生成: 项目: CGALTEST510, 配置: Debug x64 ------
尽管 CMake 是跨平台的,在我们的项目中我们努力使源代码能够在不同平台、操作系统和编译器之间移植,但有时源代码并不完全可移植;例如,当使用依赖于供应商的扩展时,我们可能会发现有必要根据平台以略有不同的方式配置和/或构建代码。这对于遗留代码或交叉编译尤其相关,我们将在第十三章,替代生成器和交叉编译中回到这个话题。了解处理器指令集以针对特定目标平台优化性能也是有利的。本章提供了检测此类环境的食谱,并提供了如何实施此类解决方案的建议。
因为nginx HTTP rewrite module 需要PCRE包,同时其依赖的zlib本机也没有安装。所以一并下载源码包编译。
1系统约定 安装文件下载目录:/data/software Mysql目录安装位置:/usr/local/mysql 数据库保存位置:/data/mysql 日志保存位置:/data/log/mysql
二、技术实现对比 https://en.wikipedia.org/wiki/Comparison_of_WebSocket_implementations
没有在Windows下开发的打算,代码也是用vim直接干,所以本系列博客是基于Linux平台的开发。 我用的是CentOS8,别的也可以,细微差别而已。 全程root权限下去玩。 不要被环境耽搁了,配个环境赶紧上车吧。
要想AI学的好,那就得linux系统用的好。放弃windows系统,只用linux系统是你学习AI,或者说做一个合格程序猿的基础。今天就手把手教大家如何在linux系统上配置OpenCV和Caffe,这也是大家在学习过程中,最让人头疼的两个环境。
本文介绍了如何安装boost库及其在Linux平台上的测试程序。首先,下载并编译安装boost库,然后编写测试程序,在程序中调用boost库的函数,对不同类型的对象进行操作。最后,使用Qt Creator集成开发环境进行测试程序的运行和调试。
大家好,又见面了,我是你们的朋友全栈君。 http://baike.baidu.com/link?url=DUGlzCMqyZ2aInTkdpGWqW0f53fL-LWLu9nD3rGoJClIU
前段时间有同事联系我想看看可能推广我之前写的协程库 libcopp,虽然 libcopp 已经用到过好几个项目上,这几年也断断续续地写了一些实现细节的文章,但是也但确实需要系统、概览性地介绍下 libcopp ,所以就有了这篇文章。
这个机器人编程和计算机编程有什么区别呢?经常会有对这方面不怎么了解的妈妈问我这个问题,为了快速解答妈妈疑惑并且让妈妈能够简单易懂,我都会这样解释:机器人的很明显你得先搭建一个机器人,然后通过编程来控制你的机器人,从而实现你的目标;而计算机编程呢,只有一台电脑,控制的是电脑里面的虚拟角色,我可以通过编程控制一只小猫(虚拟的图片)让它听我的话,实现我要它做的任务,这就是他们的区别。
从reddit/hackernews/lobsters/meetingcpp摘抄一些c++动态
之前我写过的两篇博客《conan入门(十):Windows下Android NDK交叉编译Boost》,.《conan入门(十一):Linux下Android NDK交叉编译Boost》中介绍了在Linux和Windows下NDK交叉编译boost的过程
组装得到基因组序列之后,进一步的工作就是探究基因结构。Augusust是一款预测真核生物基因结构的软件,官网如下:
领取专属 10元无门槛券
手把手带您无忧上云