最新消息:20210816 当前crifan.com域名已被污染,为防止失联,请关注(页面右下角的)公众号

[已解决]qsciscintilla.h no such file or directory

工作和技术 crifan 5666浏览 0评论

[问题]
编译kscope-1.9.4的时候,遇到编译错误:
qsciscintilla.h no such file or directory
找了一下,发现此处该文件是放在/usr/include/qt4/Qsci/ 下面,
所以,觉得很简单的,在makefile里面加上对应的路径应该就可以了。
不过,去kscope下一看,无语了,起Makefile是QT的qmake弄出来的,
不熟悉,没搞懂到底在哪里加这些类似于-I/usr/include/qt4/Qsci/的编译参数的,
索性,直接去对应文件里面,把绝对路径加上去了,
但是这只能解决一个文件的编译问题,其他还有N 个文件包含这类头文件呢,
所以,不能一个个加。。。
被搞的险些打算放弃了。。。

[解决办法]
后来,无意间,想到一个办法,那就是:
看到编译的时候,文件都是类似如下这样编译的:
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG_OUTPUT -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtXml -I/usr/include/qt4 -I.. -I/usr/include/Qsci -I. -Irelease -I. -o release/queryresultdock.o queryresultdock.cpp

而我去/usr/include/下看,没有Qsci文件夹,而只有/usr/include/qt4/Qsci,所以,想到做个软链接,名字就叫Qsci,链到/usr/include/qt4/Qsci,应该就可以了。
结果还没权限,所以最后这样才可以:
sudo ln -s /usr/include/qt4/Qsci/ Qsci
这就解决了找不到头文件所在路径的问题了。
然后,终于可以编译过了。。。。
的确像网上某位说的,kscope的makefile,的确是很搓。。。

转载请注明:在路上 » [已解决]qsciscintilla.h no such file or directory

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (3)

  1. 不错,但是更简单的方式是直接修改Makefile文件。此文件在kscope-1.9.4/app/Makefile
    panzi10年前 (2014-09-26)回复
    • 谢谢,偶有空再去试试你说的做法。
      crifan10年前 (2014-10-06)回复
  2. 好帖,必须要顶 ~~~
    didiaoadidiao13年前 (2011-10-10)回复
84 queries in 0.162 seconds, using 22.13MB memory