解决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
源码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| /*************************************************************************** * Copyright (C) 2008 by Hato Yu, 1615.cn, Macacus CRM * * hatoyu@gmail.com * * * ***************************************************************************/ #include <QCoreApplication> #include <QtDebug> #include <QString> #include </usr/include/ncurses.h> 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; } |