历经千辛万苦才在我自己的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来下载。但是目前这个东西只是什么都没有动的打包(可以理解为特殊地编译了一次),然后所以就没有说明了。