[问题]
编译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,的确是很搓。。。