Project_Lemon测评系统安装经验
历经千辛万苦才在我自己的Linux上装好了Lemon
因为毕竟没有什么使用Linux的经验然后踩了不少坑,同时为了所以就有了这篇文章。
本教程大部分都基于Linux,若有需要Windows下的帮助请看下面的链接,大致就是一些比较懒人的安装了(已经编译好了)
https://blog.csdn.net/OoLuoChenoO/article/details/75669563
Important:如果你发现你在Windows下的Lemon编译不过并且显示关于"Permission Denied"的话那可能就是Lemon把 C:\Windows 当成了自己的临时目录,然后如果UAC级别比较高的话那就会咕,解决方法是用开管理员权限运行(目前好像暂无大碍) 目前已解决,此问题同样适于运行的时候找不到什么.dll或.so,详见使用教程:https://www.cnblogs.com/CreeperLKF/p/9223922.html
Important Update:在本博客文章底部也有一个Linux下已经编译好而且好像大概也许可能不需要什么运行环境的包,开包即食,但是可惜我现在拿不出一台什么都没有的Linux来测试了......,如果有什么使用情况请评论在评论内。(目前测试好像NOI Linux不资瓷AppImage?)
Update:目前这个AppImage在我重装的Linux下运行成功了,而且没有刻意去安装依赖库文件,估计是只要资瓷AppImage应该就可以正常使用。
Important Update[预告]:关于NOI Linux资瓷的问题可能找到了一个解决方法,于是尝试再次编译一下。目前好像有办法了QWQ。它咕了。
首先参考资料:
https://github.com/Sojiv/Project_lemon
https://www.cnblogs.com/mojibake/p/7811063.html
源码下载:
QT4:https://github.com/Sojiv/Project_lemon
QT5:https://github.com/Sojiv/Project_lemon/tree/4b7868643fb249b1eb5cdd719aa5b12004143e9f
我是看了楼上四位大大的才能有如此畅快的使用学习体验的,并且程序或者部分教程也是他们提供的,对此表示感谢。
然后就是一些使用经历:
首先NOI Linux上已经所有环境都已经为你搭建好了,直接下载源代码(在上面的链接内)然后编译就可以了,而且最近看了看发现有一个Pull Request是资瓷QT5的。
建议流程如下(实际使用的时候不要复制C++语法注释部分):
//假装你现在有个终端,在~/Downloads内,然后把Project_lemon-master.zip解压之后得到目录lemon,目录下就是源代码 //以下是一个比较好的安装方法,如果你自己有软件安装目录的习惯,请把opt更改为你自己的目录 //以下命令保证在最新的NOI Linux(Ubuntu14.04)可以执行 sudo cp lemon /opt -r //复制目录 sudo chmod -R + /opt/lemon //加权限方便使用 cd /opt/lemon/ //然后准备编译 qmake lemon.pro //预编译生成makefilw make //用makefile编译,大概花5分钟左右,如果最后没有什么error就成功了 sudo ln lemon /bin/ //创建链接,随时随地使用lemon(在任意终端任意位置输入lemon都将有响应)
Update:目前观测NOI Linux到如果使用dist-upgrade把系统升级到最新的话那么会导致qmake找不到路径,解决方案在下面有写,同时还会导致编译出来一些警告然后make失败,下面也有写
然后对于自己用的话,一般就只要在目录下qmake和make就好了,最后创建软链接也不错
如果没事的话那么期望情况就应该是这样
NOI Linux下的GUI还是比较好看的
但是问题是如果不在NOI Linux下呢?
于是我们就从开始到结束讲一下有什么地方可能导致你不能使用Lemon
首先你得有一个Qt,具体怎么安装根据系统来,例如QT4:sudo apt-get install qt4-dev-tools(Update:发现了有对QT5的资瓷,链接在上面,如果用QT5的话那么就可以不用换QT4了)
下面教程使用QT4,好像QT5的那个有个Bug
1. 如果是系统自带qt4,但是qmake之后反馈类似于 qmake: could not exec '/usr/lib/x86_64-linux-gnu/qt4/bin/qmake': No such file or directory ,那么就是qt4的路径改了但是qtchooser没改。首先locate(如果没有请自己百度安装)一下qmake,然后找到在...qt4/bin/qmake的路径,然后复制这条路径然后再放在/usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf加一行,然后再qmake一下测试。
2. qmake环节可能在你输入"qmake lemon.pro"之后就瞬间没有反应了,而正常会卡顿1s左右。
如果你有这种感觉并且"make"命令会出现类似于"make: *** No targets specified and no makefile found. Stop."的东西的话那么就是使用了Qt5。
解决方案:首先export QT_SELECT=qt4(以后要用Qt5再改回来),然后再换qmake-qt4命令代替qmake,一般情况下都会有一点小卡顿然后就有makefile了
3. 还有一种可能就是qmake下去会有一堆Warning,大概是 Found potential symbol conflict of xxx.h ...... ,是由于编译器版本问题,然后最简单的方法就是安装qmake-qt4(在qt4-qmake包内)
4. 然后是make环节,一般来说上面的完成了之后都没有问题。
如果还有找不到头文件的问题那么就是Qt版本问题,然后打开/usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf文件(命令gedit /usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf),然后备份这个文件,找到qt5的那一条直接删了(如果没有Qt4那还要考虑Qt4是否有没有安装完全),在后面可能还会发现可能在一堆"out"之后然后挂了,那么可以考虑使用sudo编译,具体是在qmake和make前面加一个sudo,估计可能是权限问题
Update:如果make到最后之后发现出现类似于 error: /usr/bin/ld 找不到 libxxx.so 这个问题直接安装libqt4-dev即可(可以了解一下apt-file查询动态库在哪个软件包内有用)
5. 然后是使用环节,如果你高高兴兴地编译完了然后发现输入lemon之后告诉你"error while loading shared libraries: libQtGui.so.4: cannot open shared object file: No such file or directory",那么就是你可能没有“正确”安装qt
首先locate libQtGui.so.4(没有这条命令请百度安装),然后你会发现有几个路径,如果里面没有任意一条路径是在/usr/local/下的,那么首先考虑输入sudo gedit /etc/ld.so.conf,然后在里面加一个你locate到的路径,注意一般locate到了路径你看哪个不想一个小程序的目录,那么你就复制其路径,在include /etc/ld.so.conf.d/*.conf(文件内一般会有)下面换行加一个你的路径。
例如:
include /etc/ld.so.conf.d/*.conf /usr/local/lib
使用绝对路径,然后似乎上限可以扫描到三层文件夹下的库(不确定)
然后如果发现还是没有的话你下把它libQtGui.so.4(注意这一般是一个链接)复制到/usr/lib/下,如果出现类似于"wrong ELF class: ELFCLASS64"之类的那么说明你的编译环境不对,因为有些发行版默认64位框架,但是lemon需要32位的兼容,于是首先把你复制过去的东西删了(不要删错),然后sudo apt-get install qt4-dev-tools:i386(你怎么装的反正就在后面加一个":i386"就行了,apt会帮你解决的)
6.最后如果不出意外你就可以正常的使用lemon了,反正我现在用的GUI感觉比较丑陋......
然后不久之后可能会写使用教程(没找到官方的文档) 使用教程:https://www.cnblogs.com/CreeperLKF/p/9223922.html.如果安装过程中有什么疑问也可以留言(反正都是问度娘),如果有什么错误补充也请留言
Update:到时候如果我不ZZ的话可能会把这个打成Appimage的包方便食用(Appimage:开袋即食,无需加热)
Update:Appimage已经打包完成:可以访问度盘链接: 密码: hcxa来下载。但是目前这个东西只是什么都没有动的打包(可以理解为特殊地编译了一次),然后所以就没有说明了。
Project_Lemon测评系统安装经验的更多相关文章
- Project_Lemon测评系统使用经验
Project_Lemon使用经验 如果您还没有安装Project_Lemon,那么请移步https://www.cnblogs.com/CreeperLKF/p/9201859.html去查阅安装教 ...
- 科普向 + 折腾向 ——你了解磁盘、分区、文件系统、GPT、UEFI吗?在笔记本上安装五个系统是怎样的体验?
[Windows 7 + Windows 8 (PE) + Windows 10 + deepin-Linux + MacOS X] 前言:随着软硬件技术的发展UEFI引导逐渐取代传统BIOS引导,最 ...
- U盘改造计划之PE、kali、U盘三合一
最强U盘攻略之一 前一段时间朋友买电脑问了我一些问题,我突然发现U盘怎么这么便宜,128G金士顿,140?!!!我16年买的可是240啊.买贵一百块,我好方啊.但是我的U盘,我是不会屈服做一个普通的U ...
- x64系统安装ODAC问题经验分享
64bit系统安装ODAC经验分享 背景: 最近项目里面有用到 WCF+Entity Framework+oracle 这个架构用过的朋友应该都知道,Entity Framework要通过ODAC的方 ...
- win10,64位操作系统安装mysql-8.0.16经验总结(图文详细,保证一次安装成功)
文章目录 1.mysql下载 2.解压及配置文件 3.启动MySQL数据库 4.登录 MySQL 5.配置系统环境变量 6.mysql-8.0.16修改初始密码 机器配置: win10,64位: my ...
- [经验] Win7减肥攻略(删文件不删功能、简化优化系统不简优化性能)
[经验] Win7减肥攻略(删文件不删功能.简化优化系统不简优化性能) ☆心梦无痕☆ 发表于 2014-1-24 11:15:04 https://www.itsk.com/thread-316471 ...
- DELL服务器系统安装
背景环境:DELL poweredge R920 和DELL poweredege R730 新机服务器系统安装 由于以前没有自己单独装过这样的服务器,总感觉复杂,今天实战了几台服务器,挺简单的,为了 ...
- Ubuntu操作系统安装使用教程 (转)
随着微软的步步紧逼,包括早先的Windows黑屏计划.实施,逮捕番茄花园作者并判刑,种种迹象表明,中国用户免费使用盗版Windows的日子将不会太长久了,那么这个世界上有没有即免费又易用的操作系统呢? ...
- 华为RH2285安装过程及经验总结
安装测试 1.由于服务器为二手服务器,噪音相对较大,如果未经改造无法正常使用,当机器第一次运行的时候,我的血压一下升高不少. 第一步 服务器的远程端口和路由器连接在一起 第二步 设置服务器的bio ...
随机推荐
- Centos6.5使用yum安装svn
1.测试环境 centos5.5 2.安装svn yum -y install subversion //测试SVN是否安装成功,执行:svnserve --version 3.配置 mkdir /w ...
- PYTHON-组合 封装 多态 property装饰器
# 组合'''软件重用的重要方式除了继承之外还有另外一种方式,即:组合组合指的是,在一个类中以另外一个类的对象作为数据属性,称为类的组合 1. 什么是组合 一个对象的属性是来自于另外一个类的对象,称之 ...
- 1. let 和 const 命令
一.简单认识 1. 用let来声明变量,变量作用域就在{}(块级作用域)中 2. 用const声明变量,变量值不可更改 3. 增加了let以后,在声明变量时应该多考虑一下变量的用途,是否希望只在当前代 ...
- Windows下虚拟机安装Mac OS X —– VM12安装Mac OS X 10.11
____________________________________________________________________________________________________ ...
- CCF2016092火车购票
问题描述 请实现一个铁路购票系统的简单座位分配算法,来处理一节车厢的座位分配. 假设一节车厢有20排.每一排5个座位.为方便起见,我们用1到100来给所有的座位编号,第一排是1到5号,第二排是6到10 ...
- 并行(多进程)-python
1.进程创建 2.当前进程信息 使用current_process可获得当前进程的信息: (1)引入:from multiprocessing import current_process (2)获取 ...
- django----用户认证(auth模块)
用法 from django.contrib import auth user = authenticate(username='someone',password='somepassword') l ...
- pytest十一:函数传参和 firture 传参数 request
为了提高代码的复用性,我们在写用例的时候,会用到函数,然后不同的用例去调用这个函数.比如登录操作,大部分的用例都会先登录,那就需要把登录单独抽出来写个函数,其它用例全部的调用这个登录函数就行.但是登录 ...
- C++传值、传引用
C++传值.传引用 C++的函数参数传递方式,可以是传值方式,也可以是传引用方式.传值的本质是:形参是实参的一份复制.传引用的本质是:形参和实参是同一个东西. 传值和传引用,对大多数常见类型都是适用的 ...
- hdu 1372 骑士从起点走到终点的步数 (BFS)
给出起点和终点 求骑士从起点走到终点所需要的步数 Sample Inpute2 e4 //起点 终点a1 b2b2 c3a1 h8a1 h7h8 a1b1 c3f6 f6 Sample OutputT ...