第一篇:MPICH2简单的安装配置总结
MPICH2简单的安装配置总结
ysm
MPICH2是MPI(Message-Passing Interface)的一个应用实现,支持最新的MPI-2接口标准,是用于并行运算的工具,在程序设计语言上支持C/C++和Fortran。最近因为有项目需要的计算量比较大,所以就学习使用了MPICH2,在此根据网络上查询的相关信息和我自己的实际使用经历,分别总结一下MPICH2在windows和linux下基本的安装使用方法。
软件下载
MPICH2的主页是,在这个页面上就能找到各平台最新版本MPICH2的下载地址,其中还包括源代码,我在开始作这个项目的时候最新版本是windows版mpich2-1.0.5p2,源代码mpich2-1.0.5p4。我们的项目是一个CentOS版linux下的程序,所以最终是要在linux下运行的,但是又舍不得windows,于是就打算可能的话就在windows下写程序,用MinGW加windows版的MPICH2编译调试,通过后再到wmware虚拟机组成的简单集群作测试。所以,为避免不必要的麻烦,就要统一一下windows和linux下的MPICH2版本,而且不打算用最新的,因此决定用mpich2-1.0.5版。但是,如果在主页上找的话是没有以前旧版本下载的链接的(至少我没找到),只有最新版本的http和ftp下载。这难不住我等有心之人,既然提供了ftp下载,那咱就直接到他ftp服务器上找,最新源代码链接的地址是,把后面文件名去掉就应该是文件的ftp存放路径,把这个路径直接写到浏览器地址栏里回车(偶用的是FireFox2),就能看到他们服务器上这个目录的文件列表,里面就有1.0.5版的windows安装文件和源代码包,分别为 和。msi文件不用多说,这是windows下安装用的,源代码包我们拿来在linux下用。
文档下载
还是主页上就有MPICH2的安装和使用指南文档,主要有三个,分别是User's Guide,和,都down下来看看很有用的说。具体开发用的有关MPI标准的文档在MPI论坛的网站里都有,地址是http:// framework 2的运行环境。
默认安装的位置是C:Program FilesMPICH2,下面的bin目录下是系统配置运行需要的程序,为了方便在控制台使用,可以把C:Program FilesMPICH2bin加到系统的PATH变量中去。Include是头文件,开发的时候用,lib是链接程序的时候用的库文件。Jumpshot下有
个pdf的文档,干什么用的可以看看这个文档,我没仔细看,感觉我暂时还用不上。Examples下面是一个样本程序,就是一个用MPI计算圆周率的程序,分别有C,C++和Fortran版,C/C++的应该可以用VS2003以上版本打开。同时,安装程序还会自动向系统注册一个服务MPICH2 Process Manager,我们从控制面板-管理工具-服务里就能找到,这是管理运行MPI程序的一个服务,安装好后就是自动启动的,所以一般也就不用动它。
安装完毕后开始菜单-程序中就添加了一个MPICH2目录,其中就有上面提到的Jumpshot,另外wmpiconfig.exe是用来配置运行环境的,我在网上有找到的说明都是以前旧版本的,和现在的差别比较大,感觉这新版本用的不爽,没搞明白这个程序该咋用,不过好像默认状态下不改什么就能正常使用,所以也就不管它了。wmpiregister.exe则是用来注册用户的,使用MPI之前需要在这个程序里注册一个系统里已经存在的用户,而且这个用户必需拥有管理员权限,拥有运行我们安装了的MPI系统的能力。比如我就在所有参与运算的机器上添加了一个管理员mpi,密码也是mpi。
接下来,我们就可以开始试着运行一下MPI的程序了。就用examples目录下面的那个计算圆周率的程序。如果要多机并行计算的话,就需要在所有机器上的相同位置放置要运行的程序,我的情况就是在所有机器的C盘下建了一个mpiexe的目录,并把cpi.exe拷到所有机器的这个目录下。然后,在其中的某台机器上进入控制台(运行MPI程序其实也可以用开始菜单的MPICH2下的wmpiexec.exe,这是个gui程序,但是我觉得用的不爽,不如直接在控制台下敲命令来得灵活),敲下命令mpiexec-hosts 2 192.168.10.142 192.168.0.23 c:mpiexecpi.exe。mpiexec是安装目录下bin目录里的一个程序,在本文的例子中就是C:Program FilesMPICH2binmpiexec.exe,因为刚才说了,我把这个地址加入到PATH里了,所以可以在任何地方直接执行,它是用来启动MPI程序的,-hosts参数说明是启动多台机器并行运算,后面跟着的2就是说要在两台机器上执行程序,再后面的就是那两台机器的ip地址,其中第一个就是我启动程序的机器,当然,这个地方也可以写机器名,只要它的机器名能被正常的解析就可以,最后面的就是要运行的程序,也就是刚才提到的所有机器都要在相同位置放置的那个MPI程序。如果只是在本机运行,则命令为mpiexec –n 2 cpi.exe,-n表示是在本地运行,后面的2表示启动的进程数。程序运行后就会提示让你输入一个数字intervals,这个数字影响计算的精度,值越大精度越高,当然计算时间就越长了,然后程序会打印出计算的结果和花费的时间。
比如,我使用单机单进程运行,intervals设为99999999,耗时1.253849秒,而用两台机器双进程则只有0.628954秒,明显快很多,并行运算还是很有效果的。不过,如果我们把intervals改为9999,单机运行只用了0.000279秒,而两台机器却花了0.001548秒,这是因为并行运算过程中,参与运算的机器需要通过网络传递一些消息,如果计算量不大的话,花在了这上面的时间影响会比较明显,因而反不如单机版的来得快。
到现在我们的MPI运行环境就基本安装好了,当然,MPI还有很多其他的命令参数,只不过最常用估计也就这两条了,其他的用得着的时候就去查上面提到的文档,里面有比较详细的介绍。另外,如果按照以上的介绍进行安装配置,在运行多机并行MPI程序的时候却出现连接错误的话,八成是因为网络的问题,看看你的防火墙是不是开着,打开相应的端口,或者干脆关掉防火墙就好了。
Linux下的安装配置和单机运行
Linux下的操作要相对来说麻烦一点,这个麻烦从安装开始,呵呵。我用的系统是CentOS4.4,装在VMware Workstation里的,一共装了两个虚拟机,环境基本上完全一样。为运行MPI在两台虚拟机都创建了一个用户mpi,密码也是mpi,home路径也都是
/home/mpi,然后继续都创建了一个目录/home/mpi/mpich2用来作MPI运行环境的安装路径,一个/home/mpi/mpich2/src来存放编译用的源代码。然后将源代码包mpich2-1.0.5.tar.gz下载到两台机器上,都解压缩到/home/mpi/mpich2/src中,然后到/home/mpi/mpich2/src下,指定安装路径,./configure-prefix=/home/mpi/mpich2
make
make install
几分钟后安装完毕。需要提一下的是,我曾经试着用root用户来安装MPICH2,但是安装后好重启系统就出了问题,所以建议还是另外建个用户来装吧(ubuntu干脆就把root给禁了,不让你直接用root)。
安装后/home/mpi/mpich2下多出来一些目录和文件,要比windows多,lib是库文件,include是头文件,bin还是程序文件,所以还是要写到环境变量里,可以用命令export PATH /home/mpi/mpich2/bin:$PATH,但我是用root用户直接在/etc/profile最后面加了这么一句export PATH=/home/mpi/mpich2/bin:$PATH,一劳永逸。
MPI应用一个管理器来管理运行MPI程序,这个管理器就是mpd,但是在正式开始运行mpd前还需要一个基于安全考虑的配置文件,.mpd.cof,这个文件是要放在运行程序的用户的home目录下,本例子中就是/home/mpi/.mpd.cof,而且这个文件只能由这个用户读写,创建文件的命令是,cd $HOME
touch.mpd.conf
chmod 600.mpd.conf
然后在文件中写入这么一行,secretword=***,***在参与计算的计算机上必需完全一致。如果是root用户的话,这个文件应该是/etc/mpd.conf。
然后,我们就可以启动mpd管理器了,直接在控制台下使用mpd命令,或者是mpd &,让mpd在后台运行,若关闭启动的mpd,只需要命令mpdallexit即可。在启动mpd之后就可以运行MPI应用程序了,执行命令与windows下类似,如我们仍然是测试一下examples里的cpi程序可以这样来作,cd ~/mpich2/examples
mpiexec-n 1./ cpi
参数含义同windows下的单机运行命令。另外,启动mpd后还可以用命令mpdtrace来察看当前运行的mpd情况。
SSH配置和多机并行
MPI的多机并行是用mpdboot来管理启动的,是由参与计算的其中一台机器通过mpdboot同时启动其他机器上的mpd管理器并运行相应MPI程序的,所以,需要赋予运行mpdboot的机器执行其他机器上程序的能力。MPICH2支持通过ssh和rsh来做到这一点,其中ssh是默认的,而且其安全性也优于rsh,因此,我在项目中使用的是ssh。
首先,我们需要修改所有机器上的/etc/hosts文件,在里面添加上参与计算的机器名和ip地址,比如本文中有两台机器参加的例子里,hosts文件应当为:
127.0.0.1 localhost.localdomain localhost
192.168.10.142 node0
192.168.10.23 node1
这里的意思是说,主机名为node0的机器ip地址为192.168.10.142,主机名为node1的机器ip地址为192.168.10.23。
当然,其实这一步也可以跳过,因为我们也可以在操作过程中直接使用ip地址,只不过那样不太方便。另外就是,有些机器默认情况下第一行可能包括本机的主机名,比如在ip为192.168.10.142的node0上,hosts文件第一行是
127.0.0.1 localhost.localdomain localhost node0
这样可能会使得mpdboot工作不正常,所以还是最好给成上面的那种形式。
第二步是创建ssh密钥,命令行下:
#ssh-keygen-t rsa
-t rsa指的是密钥类型,具体请察看ssh相关资料,这里不多说。这样就在当前用户的home目录下生成了一个.ssh目录,本文中的就是/home/mpi/.ssh。
第三步,将/home/mpi/.ssh下的id_rsa.pub文件拷贝改名为authorized_keys,即 #cp id_rsa.pub authorized_keys
第四步,在其他所有机器上进行以下操作。
#ssh-keygen-t rsa生成.ssh文件夹
#scp node0的IP:/home/mpi/.ssh/* ~/.ssh拷贝node0上的.ssh文件夹覆盖本地的第五步,在所有机器上建立与自己和所有其他机器的信任连接。
对每个节点执行:
#ssh node0
#ssh node1
根据提示键入yes即可。然后就可以在不需要用户名密码的情况下通过ssh登陆其他机器了,比如在node0上#ssh node1,就可以直接进入node1。
接下来,在启动mpdboot的机器上创建一个参与计算的host列表文件,如文件mpd.hosts,每行是一个主机名,如
#cd ~
#touch mpd.hosts
#vi mpd.hosts
nod0
node1
现在,就可以启动运算集群了
#mpdboot-n 2-f mpd.hosts
-n表示要启动的机器个数,一般是不大于mpd.hosts文件中的机器数,比如本文中的例子就是两台机器。这样,列表中的机器就会启动其本机上的mpd管理器。
然后,就可以开始运行MPI程序,进行运算了,同windows下一样,程序需要放在每台机器上的相同位置(如果用NFS就只需在一台机器上放置程序,其他机器作映射就行),比如都是程序/home/mpi/mpich2/examples/cpi,命令为:
#mpiexec-n 2 /home/mpi/mpich2/examples/cpi
-n表示要启动的进程个数,一般是不大于mpd.hosts文件中的机器数(或者cpu核心数?偶用的机器就是双核的了,所以单机的时候双进程比单进程效率好很多,但是三进程就不行)。Mpd在运行过程中,可以通过mpdtrace显示参与计算的机器名,mpdtrace –l则是显示机器名以及其端口。
第二篇:机房设备配置安装标准
机房设备配置安装标准草案
一、基本要求
1、在机房装修进场前,必须组织装修单位、水电施工单位、土建单位会审,确定机房所需水、电需求以及结合设备尺寸确定门高度、宽度,符合后期设备进出机房的要求;
2、核算UPS电池组、精密空调、服务器等设备重量,计算机房楼板单位面积有效载荷是否符合要求,如达不到要求,协调土建单位对相应区域进行加固;
3、设备安装前,机房必须符合如下几个标准:
(1)机房内所有装修工序已全部完成,并符合设计的要求;(2)所有线缆已敷设进入机房,并完成编号与线缆校接;(3)精密空调所需进出水已连接到指定位置;(4)所需机房配电已送至设计位置并达到功率要求;(5)机房安全卫生环境已达到设计要求;
二、机柜及控制台安装规程
1、安装前必须检查机柜排风设备是否完好,设备托板数量是否齐全以及滑轮、支撑柱是否完好等;
2、机柜安装标准:
(1)机柜型号、规格,安装位置,应符合设计要求。机柜安装垂直偏差度应不大于3mm,水平误差每平方米不应大于2mm。几个机柜并排在一起,面板应在同一平面上并与基准线平行,前后偏差不得大于3mm;两个机柜中间缝隙不得大于3mm。对于相互有一定间隔而排成一列的设备,其面板前后偏差不得大于5mm;
(2)机柜的各种零件不得脱落或碰坏,漆面如有脱落应预以补漆,各种标志应完整、清晰;
(3)机柜安装应牢固,有抗震要求时,按施工图的抗震设计进行加固;(4)机柜不宜直接安装在活动地板上,宜按设备的底平面尺寸制作底座,底座直接与地面固定,机柜固定在底座上,然后铺设活动地板;(5)安装机柜面板,架前应预留有800mm空间,机柜背面离墙距离应大于600mm,以便于安装和施工;(6)壁挂式机柜距地面宜为1200mm;
(7)机柜内的设备、部件的安装,应在机柜定位完毕并固定后进行,安装在机柜内的设备应牢固、端正;
(8)机柜上的固定螺丝、垫片和弹簧垫圈均应按要求紧固不得遗漏;(9)卡入跳线架连接块内的单根线缆色标应和跳线架的色标相一致,大对数线缆按标准色谱的组合规定进行排序;
(10)端接于RJ45口的配线架的线序及排列方式按有关国际标准规定的两种端接标准之一(T568A或T568B)进行端接,但必须与信息插座模块的线序排列一致;
(11)接线端子各种标志应齐全,数据配线架及交换机设备安装完成后,标贴机打标签:注明对应房间号以及端口号。
3、控制台安装标准:
(1)控制台位置应符合设计要求;(2)控制台应安放竖直,台面水平;
(3)完整,无损伤,螺丝紧固,台面整洁无划痕;
(4)台内接插件和设备接触应可靠,安装应牢固;内部接线应符合设计要求,无扭曲脱落现象;
(5)控制台后面板距墙不应小于0.8m,两侧距墙不应小于0.8m,正面操作距离不应小于1.5m;
(6)控制台的主电源引入线宜直接与电源连接,应尽量避免用电源插头;
三、设备安装规程
1、控制室设备在上架安装前逐个通电进行检测,在设备处于正常工作状态后,方可安装;
2、监视器(显示器/DLP大屏)的安装标准:
(1)监视器可装设在固定的机柜和屏幕墙上,也可装设在控制台操作柜上。但必须采取通风散热措施;(2)监视器的安装位置应使屏幕不受外来光直射,当有不可避免的光时,应采取遮光措施;
(3)监视器的外部可调节或控制部分,必须暴露在便于操作的位置。
3、不间断电源施工标准
(1)不间断电源的整流装置、逆变装置和静态开关装置的规格、型号必须符合设计要求。内部接线连接正确,紧固件齐全,可靠不松动,焊接连接无脱落、虚焊现象;
(2)不间断电源的输入、输出各级保护系统和输出的电压稳定性、波形畸变系数、频率、相位、静态开关的动作等各项技术性能指标试验调整必须符合产品技术文件要求,且符合设计文件要求;
(3)不间断电源装置间连线的线间、线对地间绝缘电阻值应大于0.5MΩ;
(4)不间断电源输出端的中性线(N级),必须与由接地装置直接引来的接地干线相连接,做重复接地;
(5)安放不间断电源的机柜组装应横平竖直,水平度、垂直度允许偏差不应大于1.5‰,紧固件齐全;
(6)引入或引出不间断电源装置的主回路电线、线缆和控制电线、线缆必须分别穿保护管敷设,在线缆支架上平行敷设应保持150mm的距离;电线、线缆的屏蔽护套接地连接可靠,与接地干线就近连接,紧固件齐全;
(7)不间断电源装置的可接近裸露导体应接地(PE)或接零(PEN)可靠,且标识清楚;
(8)不间断电源正常运行时产生的A声级噪声,不应大于45dB;输出额定电流为5A及以下的小型不间断电源噪声,不应大于30dB。
4、接地与安全防护施工标准
(1)施工前对接地体设计位置的地下水位、土壤成分结构、土壤导电率等状况进行检查,各项检查值是否符合技术规范要求;
(2)接地安装应配合土建施工同时进行,做好隐蔽工程,室外接地极必须在场地平整前进行开挖预埋;(3)机房内接地母线的路由、规格应符合设计规定。施工时必须满足下列要求:
1)接地母线表面应完整,并应无明显锤痕以及残余焊剂渣;铜带母线应光滑无毛刺。绝缘线的绝缘层不得有老化龟裂现象;
2)接地母线应铺放在地槽和线缆走道中央,或固定在架槽的外侧。母线应平整,不歪斜、不弯曲。母线与机柜或机顶的连接应牢固端正;
3)铜带母线在线缆走道上应采用螺丝固定。铜绞线的母线在线缆走道上 应绑扎在梯铁上;
4)施工完成后所有接地极的接地电阻必须进行测量;经测量达不到设计要求时,应在接地极回填土中加入无腐蚀性长效降阻剂;当仍达不到要求时,应经过设计单位的同意,采取更换接地装置的措施。系统采用专用接地装置时,其接地电阻不得大于4Ω;采用综合接地网时,其接地电阻不得大于1Ω;
四、设备安装质量验收
1、设备安装质量验收表式项目:
项目名称、设备名称、安装要求、检验方法、验收结果、双方签字。
2、验收项目及标准
(1)所有安装设备必须全部进行验收。
(2)现场观察安装质量(工艺)是否牢固、整洁、美观、规范。(3)检查线缆连接,线缆到位,接插件可靠,电源线与信号线、控制线分开,走向顺直,无扭绞等是否符合要求。
(4)检查开关、按钮等是否灵活、安全。
(5)检查机柜、设备接地是否符合GB 50057等电位接地要求。(6)检查机柜电线缆扎及标识是否整齐,是否有明显编号、标识。(7)检查电源引入线缆是否有明显标识,引入线端标识是否明显、牢靠。
(8)对设备进行通电测试,检查设备是否运行正常。
(9)双方分别对检查情况进行详细记录,验收完毕后无异议,双方签字验收。
第三篇:Hillstone安装配置手册
Hillstone安全网关NAV50配置手册
一、配置准备
Hillstone 山石网科多核安全网关提供WebUI 界面,使用户能够更简便与直观地对设备进行管理与配置。安全网关的ethernet0/0 接口配有默认IP 地址192.168.1.1/24,并且该接口的各种管理功能均为开启状态。初次使用安全网关时,可以通过该接口访问安全网关的WebUI 页面。请按照以下步骤搭建WebUI 配置环境:
1.将管理PC 的IP 地址设置为与192.168.1.1/24 同网段的IP 地址,并且用网线将管理PC与安全网关的ethernet0/0 接口进行连接。
2.在管理PC 的Web 浏览器中访问地址https://192.168.1.1 并按回车键。出现登录页面如下图 所示:
3.输入用户名和密码。安全网关提供的默认用户名和密码均为“hillstone”。点击『登录』按钮进入安全网关的主页。
二、版本升级
设备出厂时为默认版本Version4.0。最新的版本Version4.5更强大。建议升级到最新版本。点击软件版本后的升级选项。
弹出如下页面:
点击升级,弹出如下页面
点击浏览,选中电脑本地的软件版本。
选择后出现如下页面:
加载完后,选择下次启动时使用的系统软件会现实为4.5版本。点击确定按钮
点击确定
重启设备
点击确定
重启后的页面
三、更新系统时间(时间与生成日志有关)
点击同步,然后点击确定。
四、修改登录密码和添加新账号
五、安装正式许可证
六、配置内外网接口地址
点击“配置”栏中的“网络连接”,选中“Ethernet0/X”,点击“编辑”,如下图所示。
七、配置出网路由(根据网络情况添加内部网络回程路由)
八、配置策略
九、配置安全防护 点击左侧攻击防护
安全域选择untrust域
系统会自动开启untrust域的安全防护,直接点击确定
十、开启监控统计
点击监控中流量选项,如果没有开启统计,系统会自动弹出选项是否开启统计集,点击确定开启即可,相同的动作完成想要开启的监控。开启后系统会生成监控图像。
联系电话:*** 联系人:张立为
第四篇:Qt4.8.4和creator和mingw安装配置说明总结_非常有用
Qt 4.8.4 & Qt Creator 2.6.1 安装和配置(Windows)
分类: Qt 2013-02-04 18:12 5150人阅读 评论(4)收藏 举报
MinGWmingwMinGwqtQtQTQT CreatorQt Creatorqt CreatorQt creator安装配置
0.前传
总想记录自己的成长过程,总是被各种原因中断。申请CSDN账号3年了吧,没写过一篇文章。见过现实生活中的暴发户,但我认为在技术领域不存在暴发户。只有积累,从一点一滴做起。这是我的第一篇文章。
1.软件安装
1.0.一个艰难的决定
跨平台的需求让我选择了Qt,经过一番搜索找到了可以下载的免费版: http://qt-project.org/downloads
最新版本(截止到2013年1月)是5.0.1,但Windows下只有for VS 2010的版本。虽然本人觉得VS很好用(用过VS 2001、VS 2005、VS 2008,当然是D版,主要拿VB做做界面,见笑),但考虑公司安装,所以还是不选择D版的好。退而求其次,选择次新版本4.8.4,317MB。下载地址:
http://releases.qt-project.org/qt4/source/qt-win-opensource-4.8.4-mingw.exe
【更新】2013年2月4日重新登录qt官网,发现5.0.1 for minGW也有了!本身带minGW4.7。下载、安装、运行,完全无悬念,推荐!附下载地址(823MB): http://releases.qt-project.org/qt5/5.0.1/qt-windows-opensource-5.0.1-mingw47_32-x86-offline.exe
1.1.minGW的安装
既然选择了for minGW的版本,那就要下载minGW。官网:http://,滚动图2位置。读者可以根据系统选择1号超链(http://www.xiexiebang.com/gf/ 下载 blackfin-linux-dist-2010R1-RC5.tar.bz2的 uClinux 版本,因为该版本支持 QT,解压后在解压目录下 lib/qt-embedded/patches 下有相关的补丁(如果有的话也可从其它地方下); 3.解压 qt-embedded-linux-opensource-src-4.5.1.tar.gz,在解压后的目录下利用 patch 命令打上所有的补丁 : patch-p1-E <(补丁文件)
注意:由于补丁版本的 BUG 打完补丁后还需要修改触压目录下 src/gui/embedded/qscreenlinuxfb_qws.cpp 文件 找到 412 行把 MAP_SHARED 改为 MAP_PRIVATE, 否则将无法正常显示,修改如下:
改前:
data =(unsigned char *)-1;
if(d_ptr->fd!=-1)
data =(unsigned char *)mmap(0, mapsize, PROT_READ | PROT_WRITE, MAP_SHARED , d_ptr->fd, 0);改后:
data =(unsigned char *)-1;
if(d_ptr->fd!=-1)
data =(unsigned char *)mmap(0, mapsize, PROT_READ | PROT_WRITE,MAP_PRIVATE , d_ptr->fd, 0);
如果要支持自己的触摸屏需自更改相关鼠标驱动文件代码,文件所在目录为 : src/gui/embedded, 最后采用修改 qmouselinuxtp_qws.cpp 和 qmouselinuxtp_qws.h 文件,添加自己的触摸屏信息解码相关代码(详细的修改可以参考网上),最后需在配置选项增加-qt-mouse-linuxtp 对 linuxtp 驱动的支持..打完补丁和修改代码后,可以进行 Qt 的配置,可以通过./configure –help 查看相关的配置帮助,配置选项的意思可以在配置帮助查看,最后采用如下配置 :
./configure-prefix /usr/local/qtembedded-embedded bfin-xplatform qws/linux-bfin-fdpic-g++-shared-confirm-licens-opensource-verbose-little-endian-no-qt3support-depths 8,16,24,32-no-webkit-nomake translations-no-cups-no-ni-no-dbus-qt-gfx-linuxfb-no-iconv-no-glib-no-rpath-no-feature-QWS_CURSOR-qt-mouse-linuxtp 注:-no-feature-QWS_CURSOR 表示不出现鼠标指针.5.配置成功后就可以进行 make ;
6.make 成功后生成相关动态库和实例,即基本完成移植;.把实例放到平台上运行 , 先要配置环境变量:
export QWS_MOUSE_PROTO=LinuxTP:(触摸屏设备节点)再把相关的动态库复制到 blackfin平台的 /usr/lib 目录下,同时也要把 font 下的 *qpf 文件复制到指定的目录,复制到什么目录可以运行下实例,出错时会提示出目录;
再运行 :
./ 实例 –qws &
加 & 表示后台运行 , 如果没出错表示运行成功;
运行出错分析提示 :
(1)直接./ 实例 运行出现如下错误:
QWSSocket::connectToLocalFile could not connect:: Bad file descriptor QWSSocket::connectToLocalFile could not connect:: Bad file descriptor QWSSocket::connectToLocalFile could not connect:: Bad file descriptor No Qt for Embedded Linux server appears to be running.If you want to run this program as a server, add the “-qws” command-line option.需加-qws 运行即./ 实例 –qws 如果还出现 socket 类的错误可能是内核没有增加 Unix socket 的支持;
(2)出现如下错误:
QLinuxFbScreen::connect: No such device
Error: failed to map framebuffer device to memory.表示没把 src/gui/embedded/qscreenlinuxfb_qws.cpp 文件进行修改,(3)出现如下错误码:
QFontDatabase : Cannot find font directory /usr/local/qte-arm/lib/fonts-is Qt ? Aborted
(注: /usr/local/qte-arm/lib/fonts 这个具体路径视你安装 qte 的路径而定)
需要把编译后在 lib 下的 fonts 复制到对应提示的目录。
(4)出现如下错误:
locking qpf: Permission denied
在复制 font 下的文件时只复制 *.qpf 文件即可,可能会支持不了中文显示。.最后可以在 $PATH 中增加 qt 编译后的 bin 目录,主要是用到 qmake,这样就有了 QT/blackfin平台的交叉编译环境,可以编译自己的 QT 代码!
.完成。
第五篇:Hibernate.cfg.xml常用配置总结
Hibernate.cfg.xml常用配置总结
测试时候Hibernate有如下常用甚至更多的配置,总结如下:
(1)Hibernate.show_sql:是否在运行时候sql语句输出到控制台,编码阶段便于测试的。(默认设置为true)
(2)Hibernate.format_sql:输出在控制台sql语句是否进行排版,便于阅读。(默认设置为true)
(3)Hbm2ddl.auto:可帮助由java代码生成数据库脚本,进而生成具体表结构。如:create/update/create-drop/validate。
Create:表示每次创建新的表格,原来的表删除,同时数据全部清楚重新插入数据。(每次加载hibernate,重新创建数据库表结构,这就是导致数据库表数据丢失的原因。)
Update:表示在原有的表上更新,保存原来的数据。(也就是原有数据不删除,依然存在,不需要重新插入,加载hibernate自动更新数据库结构)
Create-drop:加载hibernate时创建,退出是删除表结构 Validate:加载hibernate时,验证创建数据库表结构,如果是不同的话则不创建表。
(4)Hibernate.default_schema:默认数据库,如果设置了,则创建表的时候,所有表有前缀。
(5)Hibernate.dialect:配置hibernate方言,可针对特定的数据库优化。(6)
1.请慎重使用此参数,没必要就不要随便用。
2.如果发现数据库表丢失,请检查hibernate.hbm2ddl.auto的配置
3.以上4个属性对同一配置文件下所用有的映射表都起作用
例子如下:
(一)Hibernate.format_sql:输出在控制台sql语句是否进行排版,便于阅读。(默认设置为true)
(二)Hbm2ddl.auto:可帮助由java代码生成数据库脚本,进而生成具体表结构的:create:先删除,再次创建表,再插入信息。(信息丢失)
(二)Hbm2ddl.auto:可帮助由java代码生成数据库脚本,进而生成具体表结构的:update属性。表示在原有的表上更新,保存原来的数据。(也就是原有数据不删除,依然存在,不需要重新插入,加载hibernate自动更新数据库结构)
(三)Hibernate.default_schema:默认数据库,如果设置了,则创建表的时候,所有表有前缀。
显示表名字有生成前缀: