Results 1 to 7 of 7
I've googled away to figure this out, and tried out different command line combinations but the error persists. This is what happens... btw I'm new to Linux but not to ...
- 01-13-2010 #1Just Joined!
- Join Date
- Jan 2010
- Posts
- 4
Undefined Reference to <function>
I've googled away to figure this out, and tried out different command line combinations but the error persists. This is what happens... btw I'm new to Linux but not to C++.
The header files included are...Code:chezkaranubuntu:~/Desktop/Project$ gcc -Wall modbustest.cxx -o modbustest /tmp/ccoGrNDI.o: In function `main': modbustest.cxx(.text+0x28): undefined reference to `initscr' modbustest.cxx(.text+0xd0): undefined reference to `std::cout' modbustest.cxx(.text+0xd5): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)' modbustest.cxx(.text+0xe4): undefined reference to `std::cout' modbustest.cxx(.text+0xe9): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)' modbustest.cxx(.text+0x118): undefined reference to `Mb_open_device(char*, int, int, int, int)' modbustest.cxx(.text+0x12e): undefined reference to `std::cout' modbustest.cxx(.text+0x133): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)' modbustest.cxx(.text+0x146): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)' modbustest.cxx(.text+0x156): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)' modbustest.cxx(.text+0x19f): undefined reference to `std::cout' modbustest.cxx(.text+0x1a4): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)' modbustest.cxx(.text+0x20a): undefined reference to `Mb_master(Mbm_trame, int*, int*, void*, void*)' modbustest.cxx(.text+0x22a): undefined reference to `std::cout' modbustest.cxx(.text+0x22f): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)' modbustest.cxx(.text+0x24d): undefined reference to `std::cout' modbustest.cxx(.text+0x252): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)' modbustest.cxx(.text+0x270): undefined reference to `std::cout' modbustest.cxx(.text+0x275): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)' modbustest.cxx(.text+0x290): undefined reference to `std::cout' modbustest.cxx(.text+0x295): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)' modbustest.cxx(.text+0x2b0): undefined reference to `std::cout' modbustest.cxx(.text+0x2b5): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)' modbustest.cxx(.text+0x2c6): undefined reference to `std::cout' modbustest.cxx(.text+0x2cb): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)' modbustest.cxx(.text+0x2de): undefined reference to `std::basic_ostream<char, std::char_traits<char> >::operator<<(int)' modbustest.cxx(.text+0x2ee): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)' modbustest.cxx(.text+0x2fd): undefined reference to `std::cout' modbustest.cxx(.text+0x302): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)' modbustest.cxx(.text+0x314): undefined reference to `std::cin' modbustest.cxx(.text+0x319): undefined reference to `std::basic_istream<char, std::char_traits<char> >& std::operator>><char, std::char_traits<char> >(std::basic_istream<char, std::char_traits<char> >&, char&)' modbustest.cxx(.text+0x354): undefined reference to `std::cout' modbustest.cxx(.text+0x359): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)' modbustest.cxx(.text+0x35e): undefined reference to `Mb_close_device()' modbustest.cxx(.text+0x36d): undefined reference to `std::cout' modbustest.cxx:(.text+0x372): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)' modbustest.cxx(.text+0x377): undefined reference to `endwin' modbustest.cxx(.text+0x37c): undefined reference to `stdscr' modbustest.cxx(.text+0x384): undefined reference to `wgetch' /tmp/ccoGrNDI.o: In function `__static_initialization_and_destruction_0(int, int)': modbustest.cxx(.text+0x3c1): undefined reference to `std::ios_base::Init::Init()' modbustest.cxx(.text+0x3c6): undefined reference to `std::ios_base::Init::~Init()' /tmp/ccoGrNDI.o(.eh_frame+0x12): undefined reference to `__gxx_personality_v0' collect2: ld returned 1 exit status
Any ideas would be appreciatedCode:#include<iostream> #include<modbus.h> #include<ncurses.h>
- 01-13-2010 #2
try using -lncurses in your compile line
gcc -Wall modbustest.cxx -o modbustest -lncurses
Also your using gcc and std::cout is g++
So maybe try:
g++ -Wall modbustest.cxx -o modbustest -lncursesMake mine Arch Linux
- 01-13-2010 #3
Did you also include this line after your headers?
Code:using namespace std;
Registered Linux user #270181
TechieMoe's Tech Rants
- 01-13-2010 #4
I think you need to invoke gcc as g++ to compile C++ programs. Otherwise you don't get the C++ library.
"I'm just a little old lady; don't try to dazzle me with jargon!"
- 01-13-2010 #5Just Joined!
- Join Date
- Jan 2010
- Posts
- 4
- 01-14-2010 #6Just Joined!
- Join Date
- Jan 2010
- Posts
- 4
Thanks for the suggestions, they fixed most of the errors. A few errors remain to do with the modbus.h header file. I tried adding the -lmodbus switch but that didn't help. I guess I'll have to ask the author of the header file directly.
Thank you again
- 01-14-2010 #7Just Joined!
- Join Date
- Jan 2010
- Posts
- 4
Googled some more, and it appears that for some reason I had to include the modbus.h file like this...
No errors =DCode:extern "C" { #include "modbus.h" }


Reply With Quote
