Author Topic: Building Console application - ncurses  (Read 6090 times)

Offline csanyipal

  • Single posting newcomer
  • *
  • Posts: 3
Building Console application - ncurses
« on: February 28, 2017, 01:35:21 pm »
Hi,
I have installed Code::Blocks 16.01 on my Gentoo linux system.
I am using gcc version 5.
I am new to C programming.
I just created a Console application project within Code::Blocks. I want to use ncurses library in it.
It contains so far only the main.c source file:
Code
#include <ncurses.h>

int main()
{
initscr(); /* Start curses mode   */
printw("Hello World !!!"); /* Print Hello World   */
refresh(); /* Print it on to the real screen */
getch(); /* Wait for user input */
endwin(); /* End curses mode   */

return 0;
}

So when I want to build it, I get error messages:
-------------- Build: Debug in NcursesMenu01 (compiler: GNU GCC Compiler)---------------

g++  -o bin/Debug/NcursesMenu01 obj/Debug/main.o   -lpthread -lX11 -lncurses
/usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../x86_64-pc-linux-gnu/bin/ld: obj/Debug/main.o: undefined reference to symbol 'stdscr'
/lib64/libtinfo.so.6: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
Process terminated with status 1 (0 minute(s), 0 second(s))
2 error(s), 0 warning(s) (0 minute(s), 0 second(s))

I added in Project / Build options / Linker settings
followings:
pthread
X11
ncurses
both in Debug and in Release.

What should I do to solve this problem?
« Last Edit: February 28, 2017, 01:38:30 pm by csanyipal »
Best, from Pal

Offline stahta01

  • Lives here!
  • ****
  • Posts: 7582
    • My Best Post
Re: Building Console application - ncurses
« Reply #1 on: February 28, 2017, 04:26:03 pm »
1. Verify the code you posted was saved.
2. Do a rebuild instead of build
3. Post the full rebuild log here so we can maybe help you.

Edit: http://wiki.codeblocks.org/index.php/FAQ-Compiling_%28errors%29#Q:_How_do_I_troubleshoot_a_compiler_problem.3F

If we can NOT help you, you will need to find a programming site that can help you.

Tim S.
« Last Edit: February 28, 2017, 04:58:47 pm by stahta01 »
C Programmer working to learn more about C++ and Git.
On Windows 7 64 bit and Windows 10 64 bit.
--
When in doubt, read the CB WiKi FAQ. http://wiki.codeblocks.org

Offline csanyipal

  • Single posting newcomer
  • *
  • Posts: 3
Re: Building Console application - ncurses
« Reply #2 on: February 28, 2017, 07:53:31 pm »
1. Verify the code you posted was saved.
2. Do a rebuild instead of build
3. Post the full rebuild log here so we can maybe help you.

Edit: http://wiki.codeblocks.org/index.php/FAQ-Compiling_%28errors%29#Q:_How_do_I_troubleshoot_a_compiler_problem.3F

If we can NOT help you, you will need to find a programming site that can help you.

Tim S.
1. Done.
2. Done.
3.
-------------- Clean: Debug in NcursesMenu01 (compiler: GNU GCC Compiler)---------------

Cleaned "NcursesMenu01 - Debug"

-------------- Build: Debug in NcursesMenu01 (compiler: GNU GCC Compiler)---------------

gcc -Wall -g  -c /home/pali/Irataim/Programozas/Code::Blocks/NcursesProgramok/NcursesMenu_01/NcursesMenu01/main.c -o obj/Debug/main.o
g++  -o bin/Debug/NcursesMenu01 obj/Debug/main.o   -lpthread -lX11 -lncurses
/usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../x86_64-pc-linux-gnu/bin/ld: obj/Debug/main.o: undefined reference to symbol 'stdscr'
/lib64/libtinfo.so.6: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
Process terminated with status 1 (0 minute(s), 0 second(s))
2 error(s), 0 warning(s) (0 minute(s), 0 second(s))
Best, from Pal

Offline stahta01

  • Lives here!
  • ****
  • Posts: 7582
    • My Best Post
Re: Building Console application - ncurses
« Reply #3 on: February 28, 2017, 10:57:30 pm »
To csanyipal: I did NOT see any problem; likely will need to find a programming help site.
Edit: Posted the likely fix in my next post.

But, first I suggest trying two things.

Remove the X11 library because it is NOT needed.
See if the next rebuild works.

If it still has the problem remove pthread library; I have no idea if it is needed.
Rebuild a second time with both X11 and pthread libraries removed from CB link library list.

Tim S.



« Last Edit: February 28, 2017, 11:03:47 pm by stahta01 »
C Programmer working to learn more about C++ and Git.
On Windows 7 64 bit and Windows 10 64 bit.
--
When in doubt, read the CB WiKi FAQ. http://wiki.codeblocks.org

Offline stahta01

  • Lives here!
  • ****
  • Posts: 7582
    • My Best Post
Re: Building Console application - ncurses
« Reply #4 on: February 28, 2017, 11:03:06 pm »
Per http://stackoverflow.com/questions/26267788/linking-fails-with-gcc-4-8-2-ld-2-24-succeeds-with-gcc-4-4-7-ld-2-20

Try adding tinfo library after ncurses in the CB link library list.

Please also read this site rules. I have almost violated the rules helping you with this problem.
http://forums.codeblocks.org/index.php/topic,9996.0.html

Tim S.
C Programmer working to learn more about C++ and Git.
On Windows 7 64 bit and Windows 10 64 bit.
--
When in doubt, read the CB WiKi FAQ. http://wiki.codeblocks.org

Offline csanyipal

  • Single posting newcomer
  • *
  • Posts: 3
Re: Building Console application - ncurses
« Reply #5 on: March 01, 2017, 01:58:55 pm »
Per http://stackoverflow.com/questions/26267788/linking-fails-with-gcc-4-8-2-ld-2-24-succeeds-with-gcc-4-4-7-ld-2-20

Try adding tinfo library after ncurses in the CB link library list.

Please also read this site rules. I have almost violated the rules helping you with this problem.
http://forums.codeblocks.org/index.php/topic,9996.0.html

Tim S.
I have read site rules now. Sorry if I violated the rules here.
Linking
ncurses
tinfo
libraries only in CB link library list for Project Build settings solve this problem.
Sorry again. I shall ask here only Code::Blocks questions in the future.
Best, from Pal