Article 4YC5G kdevelop 5.3.2 simple curses app fails to link

kdevelop 5.3.2 simple curses app fails to link

by
cepicier
from LinuxQuestions.org on (#4YC5G)
Hi all
I use opensuse leap 15.1, kdevelop 5.3.2 to generate a simple app using ncurses library:

Code:#include </usr/include/ncurses/curses.h>

int main(/*int argc, char **argv*/) {

initscr();
endwin();
return 0;
}You might note, the absolute path for the inclusion of curses.h. I believe, that already this is part of the problem. but more on that later.

If I hit F8, the code compiles, but fails when linking with undefined reference to `initscr':

Code:make[2]: Entering directory '/home/users/ck/projects/mc-24/mc24/build'
cd /home/users/ck/projects/mc-24/mc24/build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/users/ck/projects/mc-24/mc24 /home/users/ck/projects/mc-24/mc24 /home/users/ck/projects/mc-24/mc24/build /home/users/ck/projects/mc-24/mc24/build /home/users/ck/projects/mc-24/mc24/build/CMakeFiles/mc24.dir/DependInfo.cmake --color=
Scanning dependencies of target mc24
make[2]: Leaving directory '/home/users/ck/projects/mc-24/mc24/build'
/usr/bin/make -f CMakeFiles/mc24.dir/build.make CMakeFiles/mc24.dir/build
make[2]: Entering directory '/home/users/ck/projects/mc-24/mc24/build'
[ 50%] Building CXX object CMakeFiles/mc24.dir/main.cpp.o
/usr/bin/c++ -g -o CMakeFiles/mc24.dir/main.cpp.o -c /home/users/ck/projects/mc-24/mc24/main.cpp
[100%] Linking CXX executable mc24
/usr/bin/cmake -E cmake_link_script CMakeFiles/mc24.dir/link.txt --verbose=1
/usr/bin/c++ -g -rdynamic CMakeFiles/mc24.dir/main.cpp.o -o mc24
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: CMakeFiles/mc24.dir/main.cpp.o: in function `main':
/home/users/ck/projects/mc-24/mc24/main.cpp:7: undefined reference to `initscr'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: /home/users/ck/projects/mc-24/mc24/main.cpp:11: undefined reference to `endwin'
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/mc24.dir/build.make:98: mc24] Error 1
make[2]: Leaving directory '/home/users/ck/projects/mc-24/mc24/build'
make[2]: Target 'CMakeFiles/mc24.dir/build' not remade because of errors.
make[1]: Leaving directory '/home/users/ck/projects/mc-24/mc24/build'
make[1]: *** [CMakeFiles/Makefile2:71: CMakeFiles/mc24.dir/all] Error 2
make[1]: Target 'all' not remade because of errors.
make: *** [Makefile:133: all] Error 2
make: Target 'default_target' not remade because of errors.
*** Fehler: Beendigungscode 2 ***However, the curses libraries are installed:

Quote:
ls /usr/lib64/*curs*
/usr/lib64/libncurses.a /usr/lib64/libncurses++.so.6 /usr/lib64/libncurses++w.so.5 /usr/lib64/libxcb-cursor.so.0
/usr/lib64/libncurses++.a /usr/lib64/libncurses++.so.6.1 /usr/lib64/libncurses++w.so.5.9 /usr/lib64/libxcb-cursor.so.0.0.0
/usr/lib64/libncurses.so /usr/lib64/libncurses++w.a /usr/lib64/libncurses++w.so.6 /usr/lib64/libXcursor.so.1
/usr/lib64/libncurses++.so /usr/lib64/libncursesw.a /usr/lib64/libncurses++w.so.6.1 /usr/lib64/libXcursor.so.1.0.2
/usr/lib64/libncurses++.so.5 /usr/lib64/libncurses++w.so /usr/lib64/libwayland-cursor.so.0
/usr/lib64/libncurses++.so.5.9 /usr/lib64/libncursesw.so /usr/lib64/libwayland-cursor.so.0.0.0

/usr/lib64/ncurses5:
libform.a libformw.so libmenuw.a libncurses++.a libncurses++w.a libncursesw.so libpanelw.a libtic.so libtinfo.a
libform.so libmenu.a libmenuw.so libncurses.so libncursesw.a libpanel.a libpanelw.so libticw.a libtinfo.so
libformw.a libmenu.so libncurses.a libncurses++.so libncurses++w.so libpanel.so libtic.a libticw.so
ck@intra:/usr/lib64> ls /usr/lib/*curs*
/usr/lib/libncurses++.so.5 /usr/lib/libncurses++.so.6.1 /usr/lib/libncurses++w.so.6 /usr/lib/libXcursor.so.1.0.2
/usr/lib/libncurses++.so.5.9 /usr/lib/libncurses++w.so.5 /usr/lib/libncurses++w.so.6.1
/usr/lib/libncurses++.so.6 /usr/lib/libncurses++w.so.5.9 /usr/lib/libXcursor.so.1

/usr/lib/ncurses5:
libform.a libformw.so libmenuw.a libncurses++.a libncurses++w.a libncursesw.so libpanelw.a libtic.so libtinfo.a
libform.so libmenu.a libmenuw.so libncurses.so libncursesw.a libpanel.a libpanelw.so libticw.a libtinfo.so
libformw.a libmenu.so libncurses.a libncurses++.so libncurses++w.so libpanel.so libtic.a libticw.so
I am positive, it has to do with the path, kdevelop is looking for the libraries. I tried to add them in [Project][Settings], but failed even for the include directive. I could use a helpng hand.

Greez
chrislatest?d=yIl2AUoC8zA latest?i=GivQIMbaogQ:kLVN_pzHvyg:F7zBnMy latest?i=GivQIMbaogQ:kLVN_pzHvyg:V_sGLiP latest?d=qj6IDK7rITs latest?i=GivQIMbaogQ:kLVN_pzHvyg:gIN9vFwGivQIMbaogQ
External Content
Source RSS or Atom Feed
Feed Location https://feeds.feedburner.com/linuxquestions/latest
Feed Title LinuxQuestions.org
Feed Link https://www.linuxquestions.org/questions/
Reply 0 comments