解决Kdevelop 编译 QT和ncurses库程序
Kdevelop debug的解决方法,之前怎么都不能调试,发现一个比较衰的事情,原来QT要debug必须编译的时候选择debug才可以,还是要研究帮助阿。
./configure –help
./configure -debug -plugin-sql-mysql -v
make
sudo make inxtall
就可以调试了。
不过kdevelop最大问题是是不是会发神经,代码自动补全好的时候很好,不好的时候怎么都不出来,不知道这个debug是不是也是这样,神经刀似的。
用了我将近三个小时的时间才解决:
sudo apt-get install apt-file
sudo apt-file search ncurses.h //搜索包含ncurses.h的文件,反正我的ubuntu 8.10 server 一开始是没有找到这个文件
libncurses5-dev: /usr/include/ncurses.h
libncursesw5-dev: /usr/include/ncursesw/ncurses.h
我把两个都安装了
sudo apt-get install libncurses5-dev libncursesw5-dev
修改src/makefile:
添加 -lncurses 后build就不报错了。
但是重启kdevelop后要重新输入,还是要在设置里面加进去。
最终的解决方法:在src.pro文件内 添加 LIBS += -L/usr/include -lncurses
源码如下:
/***************************************************************************
* Copyright (C) 2008 by Hato Yu, 1615.cn, Macacus CRM *
* hatoyu@gmail.com *
* *
***************************************************************************/
#include
#include
#include
#include
int main ( int argc, char *argv[] )
{
QCoreApplication macacus ( argc, argv );
int i;
for (i = 1; i < argc; i++ ) {
if (argv[i][0] == '-') {
QString opt = argv[i]+1;
if (opt == "s") {
initscr();
move(5,15);
attron(A_BOLD);
printw("%s","Macacus Server is starting ...");
attroff(A_BOLD);
refresh();
sleep(2);
endwin();
return macacus.exec();
} else {
if (opt == "v") {
qDebug() << "Macacus CRM 0.30 Alpha";
} else {
qDebug() << "The option :\nOptions: -v version -s start ";
}
}
} else {
qDebug() << "The option :\nOptions: -v version -s start ";
}
}
return 0;
}
