作者归档:Windows Hao

关于Windows Hao

力求做到最好的数据恢复效果,降低数据丢失带来的损失,为您的数据安全保驾护航。

交叉编译ARM版 Qt

       因实际项目需求,需将Qt编译成LINUX-ARM版,以下为整个操作过程,使用Qt编写的程序已在实际开发板上运行,在此贴出,但愿能为需要的朋友提供上帮助。

准备工作:
Linux内核版本:
Linux 2.6.35-22-generic #33-Ubuntu

交叉编译工具:
arm-none-linux-gnueabi 4.4.1

Qt安装包:
qt-everywhere-opensource-src-4.7.3.tar.gz

安装
一.安装交叉编译工具
1.本机使用的交叉编译工具是:arm-none-linux-gnueabi

2.添加交叉编译工具的路径至相应环境变量中:
export PATH=/usr/CodeSourcery/Sourcery_G++_Lite/bin/:$PATH

3.通过以下命令查看arm-none-linux-gnueabi编译工具是否安装成功
a. 执行:arm-none-linux-gnueabi-g++ -v
b. 执行:arm-none-linux-gnueabi-gcc -v
如果以上两步都能正确打印对应的版本信息,则表明arm-none-linux-gnueabi编译工具
已安装成功!

二.交叉编译ARM版Qt
1.下载Qt源码包 qt-everywhere-opensource-src-4.7.3.tar.gz;

2.解压Qt源码包
tar -xvfz qt-everywhere-opensource-src-4.7.3.tar.gz

3.修改文件: /usr/local/qt-4.7.3-linux-arm/mkspecs/qws/linux-arm-g++/qmake.conf

# 设置交叉编译工具链:
# 本项目使用的交叉编译工具是 arm-none-linux-gnueabi-g++
#
QMAKE_CC                         = arm-none-linux-gnueabi-gcc
QMAKE_CXX                      = arm-none-linux-gnueabi-g++
QMAKE_LINK                      = arm-none-linux-gnueabi-g++
QMAKE_LINK_SHLIB        = arm-none-linux-gnueabi-g++

QMAKE_AR                   = arm-none-linux-gnueabi-ar cqs
QMAKE_OBJCOPY      = arm-none-linux-gnueabi-objcopy
QMAKE_STRIP             = arm-none-linux-gnueabi-strip

4.(如有需要,需修改g++.conf文件)
修改文件: /usr/local/qt-4.7.3-linux-arm/mkspecs/common/g++.conf

# 设置使用ARM高级特性的编译标志:
#
QMAKE_CFLAGS_RELEASE += -O2 -march=armv7-a -mtune=cortex-a9 -mfloat-abi=softfp

5.配置Qt编译选项

进入Qt解压目录,执行如下命令:
./configure -prefix /usr/local/qt-4.7.3-linux-arm-install -embedded arm -host-little-endian -no-cups -no-3dnow -nomake examples -nomake demos -nomake docs -xplatform /qws/linux-arm-g++

6.执行 make 命令;
该步骤大致需要2~3个小时

7.执行 make install 命令;

8.修改用户环境变量
export ARMQTDIR=/usr/local/qt-4.7.3-linux-arm-install
export PATH=$ARMQTDIR/bin:$PATH
export MANPATH=$ARMQTDIR/man:$MANPATH
export LD_LIBRARY_PATH=$ARMQTDIR/lib:$LD_LIBRARY_PATH

9.测试 ARM 版 QT 是否安装并配置成功:
a. 执行:qmake -v
打印以下对应信息:
QMake version 2.01a
Using Qt version 4.7.3 in /usr/local/qt-4.7.3-linux-arm-install/lib
b. 执行:which qmake
打印以下对应信息:
/usr/local/qt-4.7.3-linux-arm-install/bin/qmake

c. 编写一个简单的测试程序,文件名为hello.cpp,进入该文件目录,进行工程编译,看是否能正确通编译

hello.cpp源码:
#include <QApplication>
#include <QDebug>
int main(int argc,char *argv[])
{
qDebug("Hello, welcome to Qt world!");
return 0;
}

顺序执行以下操作:
@1. 执行:qmake -project hello1.cpp
生成 hello1.pro 工程文件
@2. 执行:qmake hello1.pro
生成 Makefile 文件
@3. 执行:make
生成 hello.o, hello 文件

如果执行@2步骤时出现以下错误:
QMAKESPEC has not been set, so configuration cannot be deduced.
Error processing project file: hello1.pro
则是 QMAKESPEC 变量没有设置好,执行:
export QMAKESPEC=/usr/local/qt-4.7.3-linux-arm-install/mkspecs/qws/linux-arm-g++

如果以上对应的信息都能正确打印,说明 ARM 版 QT 安装并配置成功,大功告成,可以你的ARM版QT之旅了!

友情提示:
在以上所有过程中,请务必注意相关路径,及环境变量的配置,另外,请根据自己的路径对相应部分做修改。

Linux Kernel configuration for Virtualbox/VirtualPC/VMware hardware

Device Drivers

  • SCSI device support --->
    • [*] legacy /proc/scsi/ support
    • [*] SCSI disk support
    • [*] SCSI CDROM support
    • [*] SCSI generic support
    • [*] SCSI low-level drivers (VMWare Player)
      • [*] LSI MPT Fusion SAS 2.0 Device Driver
  • [*] Serial ATA and Parallel ATA drivers --->
    • [*] Verbose ATA error reporting
    • [*] AHCI SATA Support
    • [*] ATA SFF support
      • [*] ATA BMDMA support
        • [*] Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support
    • < > Generic ATA support
  • [*] Fusion MPT device support ---> (VMWare Player)
    • [*] Fusion MPT ScsiHost drivers for SPI
    • [*] Fusion MPT ScsiHost drivers for SAS
  • [*] Network device support --->
    • [*] Ethernet (10 or 100Mbit) --->
      • [*] "Tulip" family network devices support ---> (Virtual PC)
        • [*] DECchip Tulip (dc2114x) PCI support
        • [*] Generic DECchip & DIGITAL EtherWORKS PCI/EISA
      • [*] EISA, VLB, PCI and on board controllers ---> (VMWare Player)
        • [*] AMD PCnet32 PCI support
    • [*] Ethernet (1000Mbit) ---> (Virtualbox)
      • [*] Intel(R) PRO/1000 Gigabit Ethernet support
      • [*] Intel(R) PCI-Express PRO/1000 Gigabit Ethernet support
    • [*] VMware VMXNET3 ethernet driver (VMWare Player)

Bus options (PCI etc.)

  • [*] PCI support
  • [*] PCI Express support
  • [ ] ISA support
  • < > PCCard (PCMCIA/CardBus) support --->
  • < > Support for PCI Hotplug --->

Windows下VMware Workstation虚拟机自动开关机

企业需求:

       虽然Windows下的vmware workstation在企业里面相对应用的少,但是也会有存在使用的可能性,今天一个朋友和我说,现在公司里面搞了一个服务器装了一个vmware workstation里面有很多虚拟机,但是发现有一个问题,就是在关闭宿主机的时候,里面的虚拟机不能够正常开关机,造成内部系统或数据损坏,而且每次宿主机自动启动以后,不登录系统人为启动对应的虚拟机,虚拟机不会自动启用,这很是麻烦,怎么解决了?

       经过查看一此相关资料与官方知识库,做了一系列的测试,成功的测试出了上续需求,在这里共享出现,希望有需要的朋友可以试一下。

解决方法:

Windows 2003 OR XP 虚拟机在寄宿主机关机之前关闭虚拟机

       执行“gpedit.msc”,逐级打开“本地计算机策略”-->“计算机配置”-->“Windows设置”-->“脚本”,在窗口右栏中点击“关机”,把需要执行的关机或挂起命令写入一个 .bat 批处理程序中,添加到这里即可。

       需要说明的是,系统关机脚本的执行时机是系统注销所有用户登录后、系统关机之前,因此,对于从Windows登录用户界面启动的虚拟机,这些命令是不会起作用的,因为在用户注销的时候,Windows系统已经自动停止了用户的虚拟机进程。

Windows7虚拟机在寄宿主机关机之前关闭虚拟机

在win7环境中,在执行关机脚本之前,win7会强制终止所有非系统进程,关机脚本还是不会发生作用。这是可以修改如下设置:

执行“gpedit.msc”,逐级打开“本地计算机策略”-->“计算机配置”-->“管理模板”-->“系统”-->“关机选项”,将“关闭会阻止或取消关机的应用程序的自动终止功能”策略启用,即可让我们设定的用于关闭虚拟机的Windows关机脚本生效。

相关脚本:

1、系统自动启动VMware虚拟机

"C:\Program Files\VMware\VMware Workstation\vmrun.exe" -T ws start "D:\system\Windows XP Professional\Windows XP Professional.vmx"

2、系统自动关闭VMware虚拟机

"C:\Program Files\VMware\VMware Workstation\vmrun.exe" -T ws stop "D:\system\Windows XP Professional\Windows XP Professional.vmx" soft

3、系统自动挂起VMware虚拟机

"C:\Program Files\VMware\VMware Workstation\vmrun.exe" –T ws suspend "D:\system\Windows Server 2003 Enterprise Edition\Windows Server 2003 Enterprise Edition.vmx"

4、系统自动重启VMware虚拟机

"C:\Program Files\VMware\VMware Workstation\vmrun.exe" -T ws reset "D:\system\Windows XP Professional\Windows XP Professional.vmx“

5、系统自动暂停VMware虚拟机

"C:\Program Files\VMware\VMware Workstation\vmrun.exe" -T ws pause "D:\system\Windows XP Professional\Windows XP Professional.vmx"

6、系统自动暂停恢复VMware虚拟机

"C:\Program Files\VMware\VMware Workstation\vmrun.exe" -T ws unpause "D:\system\Windows XP Professional\Windows XP Professional.vmx"

Windows Server 2012 R2配置成桌面操作系统的详细设置

        用Windows Server 2012 R2 做桌面操作系统已经有一段时间,感觉它和Windows8.1还是存在一些不同点的,你可能需要设置很多地方去调整这些不同点,下面将个人调整的地方罗列出来,希望能够给其它朋友以引用。

一、关闭服务器管理器界面开机自启动

        你可能不需要每次启动电脑以后都自动打开服务器管理器界面,这时候我们就需要配置它的开机自启动了。

1、任务栏左下角启动服务器管理器,然后点击“管理”——“服务器管理器属性”

clip_image002

2、勾选“在登录时不自动启动服务器管理器”

clip_image004

二、关闭IE增强功能

        每次打开网页都需要去添加到安全选项里面去,这样子会让用户的体验很差,也很烦。下面我们就来关闭这个烦人的东西。

1、选择“本地服务器”,看到右边的IE增强的安全配置,如图所示,关闭两项内容。这样就关闭了IE增强安全提示框。

clip_image006

三、开启音频功能

        当你想听一下音乐舒展一下心情的时候,你会发现Windows Server 2012 R2它会没有声音,这时候我们需要设置一下它的音频服务了。

1、“工具”菜单,启动“服务”,启动两项声音服务(Windows AudioWindows Audio Endpoint Builder),并设为自动属性。

clip_image008

四、开启Flash Player等功能

        在Windows Server 2012 R2里面,Flash Player功能已经做为系统功能的一部分添加进来了,如果你需要在线播放Flash动画等,你可能需要添加以下功能。

1、点击“管理”菜单,添加服务器角色与功能。添加功能:Search服务、Server Backup、无线LAN,以及“用户界面和基础结构”下的桌面体验,优质 Windows 音频视频体验等。如果你需要添加 .Net Framework 3.5 功能,自己再选上。

clip_image010

五、设置密码复杂度

        每次修改密码都需要设置一个很复杂又指定长度等要求的密码,这是一件很痛苦的事情,我们可以通过以下修改,来解决这个问题。当然为了安全考虑你可以默认。

1、WIN键+R键,在运行里面输入GPEDIT.MSC,进入组策略。 禁用“密码符合复杂性要求”,“密码最长使用期限”改为0(无期限)

clip_image012

2、启用“交互式登录:无需按 Ctrl+Alt+Del”

clip_image014

六、开机自动登录

每次开机都需要输入登录密码再登录,也许这也不是你想要的,你可能希望一开始,就能够自动登录到电脑桌面进行使用,那下面的修改是必须的。

1、Win键+R键,打开运行输入“control userpasswords2”

image

2、勾选“要使用本计算机,用户必须输入用户名和密码”,添加对应的用户,点击“确定”

image

七、关闭开机自启动应用

        有时候我们会发现,安装一些应用会,会默认开机自启动,这时候我们会通过msconfig然后在启动里面禁用这些开机自启动应用。但是我们发现Windows Server 2012 R2里面没有了这个功能选项,怎么处理了?

image

        目前还没有发现什么好的工具可以来设置这个的,但我们可以通过注册表来修改自启动项,基本上通过以下三项注册表来修改。后续有什么好的工具,在分享给大家。当然可以自己写一个注册表修改批处理,将这三项里面的都删除。

HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun
HKEY_LOCAL_MACHINESOFTWAREWow6432NodeMicrosoftWindowsCurrentVersionRun

image

image

VMware Workstation 远程管理

在 VMware Workstation 上点击 Edit virtual machine settings进行操作,见下图


然后启用远程显示,设置密码,见下图

查看宿主机的IP地址,见下图

登陆 http://www.realvnc.com/cgi-bin/download.cgi 下载VNC Viewer(下载免费版即可)

安装完成VNC Viewer后使用其远程连接虚拟机,此处用的IP地址为宿主机的,设置见下图
 
输入密码连接
 
可以看到,已经连接上,后面图片是用DameWare连接上的看到的VMware,前面图片是用VNC Viewer 连接上的,只要虚拟机开机后连进BIOS都可以

只要插入光盘,即可利用 VNC Viewer进行远程查看并安装操作系统了

OK,可以看到,已经在安装操作系统,在你的宿主机里面拖动都是很方便,最大的好处就是占用系统资源很少,你不妨也可以尝试下呵!