Building EVA source in Bit64 fedora15

本文档详细记录了即时通讯软件eva从源码编译到安装的全过程,包括依赖库的安装、配置选项的选择、编译过程中的常见错误及解决办法等。适合希望了解即时通讯软件开发和部署的技术人员阅读。

Ready work

     yum install qt3 qt3-devel make autoconfig gcc gcc-c++  kdebase3 kdebase3-libs kdebase3-devel  kdelibs3 kdelib3-devel

1  Download the eva source tar from http://www.hackchina.com/cont/7766

2  tar -jxvf 359f9d3eed17.tar.gz

3  ./configure --enable-libsuffix=64

[root@localhost eva]# ./configure 
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking for -p flag to install... yes
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for style of include used by make... GNU
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... 
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking whether g++ supports -Wmissing-format-attribute... yes
checking whether g++ supports -Wundef... yes
checking whether g++ supports -Wno-long-long... yes
checking whether g++ supports -Wnon-virtual-dtor... yes
checking whether g++ supports -fno-exceptions... yes
checking whether g++ supports -fno-check-new... yes
checking whether g++ supports -fno-common... yes
checking whether g++ supports -fexceptions... yes
checking how to run the C++ preprocessor... g++ -E
checking whether g++ supports -O0... yes
checking whether g++ supports -Wl,--no-undefined... yes
checking whether g++ supports -Wl,--allow-shlib-undefined... yes
not using lib directory suffix
checking for a sed that does not truncate output... /bin/sed
checking for egrep... grep -E
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for /usr/bin/ld option to reload object files... -r
checking for BSD-compatible nm... /usr/bin/nm -B
checking whether ln -s works... yes
checking how to recognise dependent libraries... pass_all
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking dlfcn.h usability... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking for g77... no
checking for f77... no
checking for xlf... no
checking for frt... no
checking for pgf77... no
checking for fort77... no
checking for fl32... no
checking for af77... no
checking for f90... no
checking for xlf90... no
checking for pgf90... no
checking for epcf90... no
checking for f95... no
checking for fort... no
checking for xlf95... no
checking for ifc... no
checking for efc... no
checking for pgf95... no
checking for lf95... no
checking for gfortran... no
checking whether we are using the GNU Fortran 77 compiler... no
checking whether  accepts -g... no
checking the maximum length of command line arguments... 32768
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for objdir... .libs
checking for ar... ar
checking for ranlib... ranlib
checking for strip... strip
checking if gcc static flag  works... yes
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC
checking if gcc PIC flag -fPIC works... yes
checking if gcc supports -c -o file.o... yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking for shl_load... no
checking for shl_load in -ldld... no
checking for dlopen... no
checking for dlopen in -ldl... yes
checking whether a program can dlopen itself... yes
checking whether a statically linked program can dlopen itself... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
configure: creating libtool
appending configuration tag "CXX" to libtool
checking for ld used by g++... /usr/bin/ld -m elf_x86_64
checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC
checking if g++ PIC flag -fPIC works... yes
checking if g++ supports -c -o file.o... yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking for shl_load... (cached) no
checking for shl_load in -ldld... (cached) no
checking for dlopen... (cached) no
checking for dlopen in -ldl... (cached) yes
checking whether a program can dlopen itself... (cached) yes
checking whether a statically linked program can dlopen itself... (cached) yes
appending configuration tag "F77" to libtool
checking for msgfmt... /usr/bin/msgfmt
checking for gmsgfmt... /usr/bin/msgfmt
checking for xgettext... /usr/bin/xgettext
checking if C++ programs can be compiled... yes
checking for strlcat... no
checking if strlcat needs custom prototype... yes - in libkdefakes
checking for strlcpy... no
checking if strlcpy needs custom prototype... yes - in libkdefakes
checking for main in -lutil... yes
checking for main in -lcompat... no
checking for crypt in -lcrypt... yes
checking for socklen_t... socklen_t
checking for dnet_ntoa in -ldnet... no
checking for dnet_ntoa in -ldnet_stub... no
checking for inet_ntoa... yes
checking for connect... yes
checking for remove... yes
checking for shmat... yes
checking for sys/types.h... (cached) yes
checking for stdint.h... (cached) yes
checking for poll in -lpoll... no
checking CoreAudio/CoreAudio.h usability... no
checking CoreAudio/CoreAudio.h presence... no
checking for CoreAudio/CoreAudio.h... no
checking if res_init needs -lresolv... yes
checking if res_init is available... yes
checking for killpg in -lucb... no
checking for int... yes
checking size of int... 4
checking for short... yes
checking size of short... 2
checking for long... yes
checking size of long... 8
checking for char *... yes
checking size of char *... 8
checking for dlopen in -ldl... (cached) yes
checking for shl_unload in -ldld... no
checking for size_t... yes
checking size of size_t... 8
checking for unsigned long... yes
checking size of unsigned long... 8
checking sizeof size_t == sizeof unsigned long... yes
checking crt_externs.h usability... no
checking crt_externs.h presence... no
checking for crt_externs.h... no
checking for _NSGetEnviron... no
checking for vsnprintf... yes
checking for snprintf... yes
checking for X... libraries /usr/lib, headers .
checking for IceConnectionNumber in -lICE... yes
checking for libXext... yes
checking for pthread_create in -lpthread... yes
checking for extra includes... no
checking for extra libs... no
checking for libz... -lz
checking for libpng... -lpng -lz -lm
checking for libjpeg6b... no
checking for libjpeg... -ljpeg
checking for perl... /usr/bin/perl
checking for Qt... libraries /usr/lib64/qt-3.3/lib, headers /usr/lib64/qt-3.3/include using -mt
checking for moc... /usr/lib64/qt-3.3/bin/moc
checking for uic... /usr/lib64/qt-3.3/bin/uic
checking whether uic supports -L ... yes
checking whether uic supports -nounload ... yes
checking if Qt needs -ljpeg... no
checking for rpath... yes
checking for KDE... configure: error:
in the prefix, you've chosen, are no KDE libraries installed. This will fail.
So, check this please and use another prefix!
[root@localhost eva]# ./configure --enable-libsuffix=64
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking for -p flag to install... yes
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for style of include used by make... GNU
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... 
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking whether g++ supports -Wmissing-format-attribute... yes
checking whether g++ supports -Wundef... yes
checking whether g++ supports -Wno-long-long... yes
checking whether g++ supports -Wnon-virtual-dtor... yes
checking whether g++ supports -fno-exceptions... yes
checking whether g++ supports -fno-check-new... yes
checking whether g++ supports -fno-common... yes
checking whether g++ supports -fexceptions... yes
checking how to run the C++ preprocessor... g++ -E
checking whether g++ supports -O0... yes
checking whether g++ supports -Wl,--no-undefined... yes
checking whether g++ supports -Wl,--allow-shlib-undefined... yes
using lib directory suffix 64
checking for a sed that does not truncate output... /bin/sed
checking for egrep... grep -E
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for /usr/bin/ld option to reload object files... -r
checking for BSD-compatible nm... /usr/bin/nm -B
checking whether ln -s works... yes
checking how to recognise dependent libraries... pass_all
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking dlfcn.h usability... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking for g77... no
checking for f77... no
checking for xlf... no
checking for frt... no
checking for pgf77... no
checking for fort77... no
checking for fl32... no
checking for af77... no
checking for f90... no
checking for xlf90... no
checking for pgf90... no
checking for epcf90... no
checking for f95... no
checking for fort... no
checking for xlf95... no
checking for ifc... no
checking for efc... no
checking for pgf95... no
checking for lf95... no
checking for gfortran... no
checking whether we are using the GNU Fortran 77 compiler... no
checking whether  accepts -g... no
checking the maximum length of command line arguments... 32768
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for objdir... .libs
checking for ar... ar
checking for ranlib... ranlib
checking for strip... strip
checking if gcc static flag  works... yes
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC
checking if gcc PIC flag -fPIC works... yes
checking if gcc supports -c -o file.o... yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking for shl_load... no
checking for shl_load in -ldld... no
checking for dlopen... no
checking for dlopen in -ldl... yes
checking whether a program can dlopen itself... yes
checking whether a statically linked program can dlopen itself... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
configure: creating libtool
appending configuration tag "CXX" to libtool
checking for ld used by g++... /usr/bin/ld -m elf_x86_64
checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC
checking if g++ PIC flag -fPIC works... yes
checking if g++ supports -c -o file.o... yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking for shl_load... (cached) no
checking for shl_load in -ldld... (cached) no
checking for dlopen... (cached) no
checking for dlopen in -ldl... (cached) yes
checking whether a program can dlopen itself... (cached) yes
checking whether a statically linked program can dlopen itself... (cached) yes
appending configuration tag "F77" to libtool
checking for msgfmt... /usr/bin/msgfmt
checking for gmsgfmt... /usr/bin/msgfmt
checking for xgettext... /usr/bin/xgettext
checking if C++ programs can be compiled... yes
checking for strlcat... no
checking if strlcat needs custom prototype... yes - in libkdefakes
checking for strlcpy... no
checking if strlcpy needs custom prototype... yes - in libkdefakes
checking for main in -lutil... yes
checking for main in -lcompat... no
checking for crypt in -lcrypt... yes
checking for socklen_t... socklen_t
checking for dnet_ntoa in -ldnet... no
checking for dnet_ntoa in -ldnet_stub... no
checking for inet_ntoa... yes
checking for connect... yes
checking for remove... yes
checking for shmat... yes
checking for sys/types.h... (cached) yes
checking for stdint.h... (cached) yes
checking for poll in -lpoll... no
checking CoreAudio/CoreAudio.h usability... no
checking CoreAudio/CoreAudio.h presence... no
checking for CoreAudio/CoreAudio.h... no
checking if res_init needs -lresolv... yes
checking if res_init is available... yes
checking for killpg in -lucb... no
checking for int... yes
checking size of int... 4
checking for short... yes
checking size of short... 2
checking for long... yes
checking size of long... 8
checking for char *... yes
checking size of char *... 8
checking for dlopen in -ldl... (cached) yes
checking for shl_unload in -ldld... no
checking for size_t... yes
checking size of size_t... 8
checking for unsigned long... yes
checking size of unsigned long... 8
checking sizeof size_t == sizeof unsigned long... yes
checking crt_externs.h usability... no
checking crt_externs.h presence... no
checking for crt_externs.h... no
checking for _NSGetEnviron... no
checking for vsnprintf... yes
checking for snprintf... yes
checking for X... libraries /usr/lib64, headers .
checking for IceConnectionNumber in -lICE... yes
checking for libXext... yes
checking for pthread_create in -lpthread... yes
checking for extra includes... no
checking for extra libs... no
checking for libz... -lz
checking for libpng... -lpng -lz -lm
checking for libjpeg6b... no
checking for libjpeg... -ljpeg
checking for perl... /usr/bin/perl
checking for Qt... libraries /usr/lib64/qt-3.3/lib, headers /usr/lib64/qt-3.3/include using -mt
checking for moc... /usr/lib64/qt-3.3/bin/moc
checking for uic... /usr/lib64/qt-3.3/bin/uic
checking whether uic supports -L ... yes
checking whether uic supports -nounload ... yes
checking if Qt needs -ljpeg... no
checking for rpath... yes
checking for KDE... libraries /usr/lib64, headers /usr/include/kde
checking if UIC has KDE plugins available... yes
checking for KDE paths... defaults
checking for dcopidl... /usr/bin/dcopidl
checking for dcopidl2cpp... /usr/bin/dcopidl2cpp
checking for mcopidl... /usr/bin/mcopidl
checking for artsc-config... /usr/bin/artsc-config
checking for kde-config... /usr/bin/kde-config
checking for meinproc... /usr/bin/meinproc
checking for xmllint... /usr/bin/xmllint
checking whether byte ordering is bigendian... no
checking for MAXPATHLEN... 4096
checking if po should be compiled... yes
checking if src should be compiled... yes
configure: creating ./config.status
wrong input (flag != 4) at admin/conf.change.pl line 117, <> line 1149.
fast creating Makefile
fast creating doc/Makefile
fast creating doc/en/Makefile
fast creating po/Makefile
fast creating po/zh_CN/Makefile
fast creating src/Makefile
fast creating src/api/Makefile
fast creating src/api/filetrans/Makefile
fast creating src/image/Makefile
fast creating src/image/face/Makefile
fast creating src/image/smiley/Makefile
fast creating src/image/theme/Makefile
fast creating src/libeva/Makefile
fast creating src/libeva/libcustompic/Makefile
fast creating src/libeva/libft/Makefile
fast creating src/libeva/libuh/Makefile
fast creating src/sound/Makefile
fast creating src/ui/Makefile
config.pl: fast created 18 file(s).
config.status: creating config.h
config.status: executing depfiles commands

Good - your configure finished. Start make now

4 make时出错了

是因为没有包含几个头文件,将缺少的三个库

#include <string.h>
#include <stdlib.h>
#include <stdio.h>
都包含到./eva-0.1.1/src/evamain.h文件中,然后谁缺少这些库就#include <evamain.h>即可。make直接通过:

... 
... 
...
/usr/lib64/qt-3.3/include/qevent.h:432:33: warning: conversion to ‘unsigned char’ from ‘uint {aka unsigned int}’ may alter its value [-Wconversion]
/usr/lib64/qt-3.3/include/qevent.h: In member function ‘void QDropEvent::setAction(QDropEvent::Action)’:
/usr/lib64/qt-3.3/include/qevent.h:523:46: warning: conversion to ‘unsigned char’ from ‘uint {aka unsigned int}’ may alter its value [-Wconversion]
/bin/sh ../libtool --silent --mode=link --tag=CXX g++  -Wnon-virtual-dtor -Wno-long-long -Wundef -Wall -W -Wpointer-arith -Wwrite-strings -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -O2 -Wformat-security -Wmissing-format-attribute -fno-exceptions -fno-check-new -fno-common    -o eva -R /usr/lib64 -R /usr/lib64/qt-3.3/lib -R /usr/lib64 -L/usr/lib64 -L/usr/lib64/qt-3.3/lib  main.o qqlogin.o evamain.o evaSystray.o extoolbutton.o ContactInfo.o GetFriendListPacket.o GetFriendListReplyPacket.o GetUserInfoPacket.o GetUserInfoReplyPacket.o InPacket.o KeepAlivePacket.o KeepAliveReplyPacket.o LoginPacket.o LoginReplyPacket.o LogoutPacket.o md5.o OutPacket.o Packet.o PacketManager.o qq_crypt.o QQFriend.o QQUser.o ChangeStatusPacket.o ChangeStatusReplyPacket.o faceitem.o GetFriendOnlinePacket.o FriendStatus.o FriendOnlineEntry.o GetFriendOnlineReplyPacket.o SendIMPacket.o SendIMReplyPacket.o chatwindow.o ReceiveIMHeader.o NormalIMHeader.o ReceiveIMPacket.o NormalIM.o ReceiveIMReplyPacket.o propertydlg.o facespopup.o exqtable.o exqtextedit.o facepopupmenu.o statuspopupmenu.o syspopupmenu.o friendtable.o friendlistbox.o tipwindow.o friendchangestatuspacket.o messagemanager.o messageviewer.o downloadgroupfriendpacket.o groupnameoppacket.o groupnameopreplypacket.o downloadfriendentry.o downloadgroupfriendreplypacket.o usersetting.o syssetting.o evaaboutdialog.o deletefriendpacket.o deletefriendreplypacket.o addfriendpacket.o addfriendreplypacket.o addfriendauthpacket.o addfriendauthreplypacket.o systemnotificationpacket.o searchform.o searchuserpacket.o onlineuser.o searchuserreplypacket.o notifywindow.o requestkeypacket.o requestkeyreplypacket.o loginDlg.o sysWindow.o propertyWindow.o chatFrame.o facespanel.o tipscreen.o chatHistory.o evaabout.o searchdlg.o sysnotifydlg.o faceitem.moc.o facepopupmenu.moc.o messagemanager.moc.o usersetting.moc.o ReceiveIMHeader.moc.o friendtable.moc.o exqtextedit.moc.o evaSystray.moc.o extoolbutton.moc.o syssetting.moc.o PacketManager.moc.o exqtable.moc.o evamain.moc.o syspopupmenu.moc.o statuspopupmenu.moc.o friendlistbox.moc.o  -lkdeui 
make[2]: Leaving directory `/home/nancy/Downloads/cq/eva-0.1.1/src'
make[2]: Entering directory `/home/nancy/Downloads/cq/eva-0.1.1'
make[2]: Leaving directory `/home/nancy/Downloads/cq/eva-0.1.1'
make[1]: Leaving directory `/home/nancy/Downloads/cq/eva-0.1.1'

make install安装就

[root@localhost eva-0.1.1]# make install
Making install in doc
make[1]: Entering directory `/home/nancy/Downloads/cq/eva-0.1.1/doc'
Making install in .
make[2]: Entering directory `/home/nancy/Downloads/cq/eva-0.1.1/doc'
make[3]: Entering directory `/home/nancy/Downloads/cq/eva-0.1.1/doc'
make[3]: Nothing to be done for `install-exec-am'.
make[3]: Nothing to be done for `install-data-am'.
make[3]: Leaving directory `/home/nancy/Downloads/cq/eva-0.1.1/doc'
make[2]: Leaving directory `/home/nancy/Downloads/cq/eva-0.1.1/doc'
Making install in en
make[2]: Entering directory `/home/nancy/Downloads/cq/eva-0.1.1/doc/en'
make[3]: Entering directory `/home/nancy/Downloads/cq/eva-0.1.1/doc/en'
make[3]: Nothing to be done for `install-exec-am'.
/bin/sh ../../admin/mkinstalldirs /usr/local/kde/share/doc/HTML/en/eva
/usr/bin/install -c -p -m 644 index.docbook /usr/local/kde/share/doc/HTML/en/eva/index.docbook
/bin/sh ../../admin/mkinstalldirs /usr/local/kde/share/doc/HTML/en/eva
/usr/bin/install -c -p -m 644 index.cache.bz2 /usr/local/kde/share/doc/HTML/en/eva/
rm -f /usr/local/kde/share/doc/HTML/en/eva/common
ln -s /usr/share/doc/HTML/en/common /usr/local/kde/share/doc/HTML/en/eva/common
make[3]: Leaving directory `/home/nancy/Downloads/cq/eva-0.1.1/doc/en'
make[2]: Leaving directory `/home/nancy/Downloads/cq/eva-0.1.1/doc/en'
make[1]: Leaving directory `/home/nancy/Downloads/cq/eva-0.1.1/doc'
Making install in po
make[1]: Entering directory `/home/nancy/Downloads/cq/eva-0.1.1/po'
make[2]: Entering directory `/home/nancy/Downloads/cq/eva-0.1.1/po'
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/home/nancy/Downloads/cq/eva-0.1.1/po'
make[1]: Leaving directory `/home/nancy/Downloads/cq/eva-0.1.1/po'
Making install in src
make[1]: Entering directory `/home/nancy/Downloads/cq/eva-0.1.1/src'
make[2]: Entering directory `/home/nancy/Downloads/cq/eva-0.1.1/src'
/bin/sh ../admin/mkinstalldirs /usr/local/kde/bin
  /bin/sh ../libtool --silent --mode=install /usr/bin/install -c -p  eva /usr/local/kde/bin/eva
/bin/sh ../admin/mkinstalldirs /usr/local/kde/share/icons/hicolor/32x32/apps
/usr/bin/install -c -p -m 644 ./hi32-app-eva.png /usr/local/kde/share/icons/hicolor/32x32/apps/eva.png
/bin/sh ../admin/mkinstalldirs /usr/local/kde/share/icons/hicolor/16x16/apps
/usr/bin/install -c -p -m 644 ./hi16-app-eva.png /usr/local/kde/share/icons/hicolor/16x16/apps/eva.png
/bin/sh ../admin/mkinstalldirs /usr/local/kde/share/applnk/Utilities
 /usr/bin/install -c -p -m 644 eva.desktop /usr/local/kde/share/applnk/Utilities/eva.desktop
/bin/sh ../admin/mkinstalldirs /usr/local/kde/share/apps/eva
 /usr/bin/install -c -p -m 644 evaui.rc /usr/local/kde/share/apps/eva/evaui.rc
make[2]: Leaving directory `/home/nancy/Downloads/cq/eva-0.1.1/src'
make[1]: Leaving directory `/home/nancy/Downloads/cq/eva-0.1.1/src'
make[1]: Entering directory `/home/nancy/Downloads/cq/eva-0.1.1'
make[2]: Entering directory `/home/nancy/Downloads/cq/eva-0.1.1'
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/home/nancy/Downloads/cq/eva-0.1.1'
make[1]: Leaving directory `/home/nancy/Downloads/cq/eva-0.1.1'

运行eva时要普通用户,否则有权限的错误提示。命令行输入:./src/eva,进入登录界面,输入登录信息后,进入竖面板,可惜的无法使用,friend list位置是白板,再等待几秒钟之后窗口弹出message对话框:“can not get friend list from server”.




欢迎使用“可调增益放大器 Multisim”设计资源包!本资源专为电子爱好者、学生以及工程师设计,旨在展示如何在著名的电路仿真软件Multisim环境下,实现一个具有创新性的数字控制增益放大器项目。 项目概述 在这个项目中,我们通过巧妙结合模拟电路与数字逻辑,设计出一款独特且实用的放大器。该放大器的特点在于其增益可以被精确调控,并非固定不变。用户可以通过控制键,轻松地改变放大器的增益状态,使其在1到8倍之间平滑切换。每一步增益的变化都直观地通过LED数码管显示出来,为观察和调试提供了极大的便利。 技术特点 数字控制: 使用数字输入来调整模拟放大器的增益,展示了数字信号对模拟电路控制的应用。 动态增益调整: 放大器支持8级增益调节(1x至8x),满足不同应用场景的需求。 可视化的增益指示: 利用LED数码管实时显示当前的放大倍数,增强项目的交互性和实用性。 Multisim仿真环境: 所有设计均在Multisim中完成,确保了设计的仿真准确性和学习的便捷性。 使用指南 软件准备: 确保您的计算机上已安装最新版本的Multisim软件。 打开项目: 导入提供的Multisim项目文件,开始查看或修改设计。 仿真体验: 在仿真模式下测试放大器的功能,观察增益变化及LED显示是否符合预期。 实验与调整: 根据需要调整电路参数以优化性能。 实物搭建 (选做): 参考设计图,在真实硬件上复现实验。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值