Hi I have wrote a program in C++ in Netbeans on Macintosh that uses these these includes - iostream,fstream, string & cstdlib. The program compiles fine in Netbeans but I need to compile and run it with gcc because I need to pass an Image File to the program in terminal.
When I try to compile I get the error below and to be honest I am completely lost as to what is going on. It seems there is an issue with the namespace? Anyone able to help?
Thanks!
Macintosh-2:ImageTool root$ gcc main.cpp -o main.out
Undefined symbols for architecture x86_64:
"std::__1::locale::has_facet(std::__1::locale::id&) const", referenced from:
std::__1::basic_filebuf<char, std::__1::char_traits<char> >::basic_filebuf() in main-f0eaa5.o
"std::__1::locale::use_facet(std::__1::locale::id&) const", referenced from:
std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::endl<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&) in main-f0eaa5.o
std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in main-f0eaa5.o
std::__1::basic_filebuf<char, std::__1::char_traits<char> >::imbue(std::__1::locale const&) in main-f0eaa5.o
std::__1::basic_filebuf<char, std::__1::char_traits<char> >::basic_filebuf() in main-f0eaa5.o
"std::__1::ios_base::getloc() const", referenced from:
std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::endl<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&) in main-f0eaa5.o
std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in main-f0eaa5.o
"std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__init(char const*, unsigned long)", referenced from:
Partition_Info::getFileSystemType() in main-f0eaa5.o
DirectoryEntry::getNameOfFile() in main-f0eaa5.o
FileContents::getFileContents() in main-f0eaa5.o
"std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__init(unsigned long, char)", referenced from:
std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> > std::__1::__pad_and_output<char, std::__1::char_traits<char> >(std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> >, char const*, char const*, char const*, std::__1::ios_base&, char) in main-f0eaa5.o
"std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::assign(char const*)", referenced from:
Partition_Info::getFileSystemType() in main-f0eaa5.o
"std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_string()", referenced from:
Partition_Info::getFileSystemType() in main-f0eaa5.o
_main in main-f0eaa5.o
std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> > std::__1::__pad_and_output<char, std::__1::char_traits<char> >(std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> >, char const*, char const*, char const*, std::__1::ios_base&, char) in main-f0eaa5.o
"std::__1::basic_istream<char, std::__1::char_traits<char> >::read(char*, long)", referenced from:
_main in main-f0eaa5.o
"std::__1::basic_istream<char, std::__1::char_traits<char> >::seekg(long long, std::__1::ios_base::seekdir)", referenced from:
_main in main-f0eaa5.o
"std::__1::basic_istream<char, std::__1::char_traits<char> >::~basic_istream()", referenced from:
construction vtable for std::__1::basic_istream<char, std::__1::char_traits<char> >-in-std::__1::basic_ifstream<char, std::__1::char_traits<char> > in main-f0eaa5.o
"std::__1::basic_istream<char, std::__1::char_traits<char> >::~basic_istream()", referenced from:
construction vtable for std::__1::basic_istream<char, std::__1::char_traits<char> >-in-std::__1::basic_ifstream<char, std::__1::char_traits<char> > in main-f0eaa5.o
"std::__1::basic_istream<char, std::__1::char_traits<char> >::~basic_istream()", referenced from:
_main in main-f0eaa5.o
std::__1::basic_ifstream<char, std::__1::char_traits<char> >::~basic_ifstream() in main-f0eaa5.o
"std::__1::basic_ostream<char, std::__1::char_traits<char> >::put(char)", referenced from:
std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::endl<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&) in main-f0eaa5.o
"std::__1::basic_ostream<char, std::__1::char_traits<char> >::flush()", referenced from:
std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::endl<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&) in main-f0eaa5.o
"std::__1::basic_ostream<char, std::__1::char_traits<char> >::sentry::sentry(std::__1::basic_ostream<char, std::__1::char_traits<char> >&)", referenced from:
std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in main-f0eaa5.o
"std::__1::basic_ostream<char, std::__1::char_traits<char> >::sentry::~sentry()", referenced from:
std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in main-f0eaa5.o
"std::__1::basic_ostream<char, std::__1::char_traits<char> >::operator<<(bool)", referenced from:
_main in main-f0eaa5.o
"std::__1::basic_ostream<char, std::__1::char_traits<char> >::operator<<(int)", referenced from:
_main in main-f0eaa5.o
"std::__1::basic_ostream<char, std::__1::char_traits<char> >::operator<<(unsigned int)", referenced from:
_main in main-f0eaa5.o
"std::__1::basic_streambuf<char, std::__1::char_traits<char> >::uflow()", referenced from:
vtable for std::__1::basic_filebuf<char, std::__1::char_traits<char> > in main-f0eaa5.o
"std::__1::basic_streambuf<char, std::__1::char_traits<char> >::xsgetn(char*, long)", referenced from:
vtable for std::__1::basic_filebuf<char, std::__1::char_traits<char> > in main-f0eaa5.o
"std::__1::basic_streambuf<char, std::__1::char_traits<char> >::xsputn(char const*, long)", referenced from:
vtable for std::__1::basic_filebuf<char, std::__1::char_traits<char> > in main-f0eaa5.o
"std::__1::basic_streambuf<char, std::__1::char_traits<char> >::showmanyc()", referenced from:
vtable for std::__1::basic_filebuf<char, std::__1::char_traits<char> > in main-f0eaa5.o
"std::__1::basic_streambuf<char, std::__1::char_traits<char> >::basic_streambuf()", referenced from:
std::__1::basic_filebuf<char, std::__1::char_traits<char> >::basic_filebuf() in main-f0eaa5.o
"std::__1::basic_streambuf<char, std::__1::char_traits<char> >::~basic_streambuf()", referenced from:
std::__1::basic_filebuf<char, std::__1::char_traits<char> >::~basic_filebuf() in main-f0eaa5.o
std::__1::basic_filebuf<char, std::__1::char_traits<char> >::basic_filebuf() in main-f0eaa5.o
"std::__1::cout", referenced from:
_main in main-f0eaa5.o
"std::__1::ctype<char>::id", referenced from:
std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::endl<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&) in main-f0eaa5.o
std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in main-f0eaa5.o
"std::__1::locale::locale(std::__1::locale const&)", referenced from:
std::__1::basic_filebuf<char, std::__1::char_traits<char> >::basic_filebuf() in main-f0eaa5.o
"std::__1::locale::~locale()", referenced from:
std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::endl<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&) in main-f0eaa5.o
std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in main-f0eaa5.o
std::__1::basic_filebuf<char, std::__1::char_traits<char> >::basic_filebuf() in main-f0eaa5.o
"std::__1::codecvt<char, char, __mbstate_t>::id", referenced from:
std::__1::basic_filebuf<char, std::__1::char_traits<char> >::imbue(std::__1::locale const&) in main-f0eaa5.o
std::__1::basic_filebuf<char, std::__1::char_traits<char> >::basic_filebuf() in main-f0eaa5.o
"std::__1::ios_base::__set_badbit_and_consider_rethrow()", referenced from:
std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in main-f0eaa5.o
"std::__1::ios_base::init(void*)", referenced from:
_main in main-f0eaa5.o
"std::__1::ios_base::clear(unsigned int)", referenced from:
_main in main-f0eaa5.o
std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in main-f0eaa5.o
"std::__1::basic_ios<char, std::__1::char_traits<char> >::~basic_ios()", referenced from:
_main in main-f0eaa5.o
std::__1::basic_ifstream<char, std::__1::char_traits<char> >::~basic_ifstream() in main-f0eaa5.o
"std::bad_cast::bad_cast()", referenced from:
std::__1::basic_filebuf<char, std::__1::char_traits<char> >::seekoff(long long, std::__1::ios_base::seekdir, unsigned int) in main-f0eaa5.o
std::__1::basic_filebuf<char, std::__1::char_traits<char> >::sync() in main-f0eaa5.o
std::__1::basic_filebuf<char, std::__1::char_traits<char> >::underflow() in main-f0eaa5.o
std::__1::basic_filebuf<char, std::__1::char_traits<char> >::overflow(int) in main-f0eaa5.o
"std::bad_cast::~bad_cast()", referenced from:
std::__1::basic_filebuf<char, std::__1::char_traits<char> >::seekoff(long long, std::__1::ios_base::seekdir, unsigned int) in main-f0eaa5.o
std::__1::basic_filebuf<char, std::__1::char_traits<char> >::sync() in main-f0eaa5.o
std::__1::basic_filebuf<char, std::__1::char_traits<char> >::underflow() in main-f0eaa5.o
std::__1::basic_filebuf<char, std::__1::char_traits<char> >::overflow(int) in main-f0eaa5.o
"std::terminate()", referenced from:
___clang_call_terminate in main-f0eaa5.o
"typeinfo for std::__1::basic_istream<char, std::__1::char_traits<char> >", referenced from:
construction vtable for std::__1::basic_istream<char, std::__1::char_traits<char> >-in-std::__1::basic_ifstream<char, std::__1::char_traits<char> > in main-f0eaa5.o
typeinfo for std::__1::basic_ifstream<char, std::__1::char_traits<char> > in main-f0eaa5.o
"typeinfo for std::__1::basic_streambuf<char, std::__1::char_traits<char> >", referenced from:
typeinfo for std::__1::basic_filebuf<char, std::__1::char_traits<char> > in main-f0eaa5.o
"typeinfo for std::bad_cast", referenced from:
std::__1::basic_filebuf<char, std::__1::char_traits<char> >::seekoff(long long, std::__1::ios_base::seekdir, unsigned int) in main-f0eaa5.o
std::__1::basic_filebuf<char, std::__1::char_traits<char> >::sync() in main-f0eaa5.o
std::__1::basic_filebuf<char, std::__1::char_traits<char> >::underflow() in main-f0eaa5.o
std::__1::basic_filebuf<char, std::__1::char_traits<char> >::overflow(int) in main-f0eaa5.o
"vtable for __cxxabiv1::__si_class_type_info", referenced from:
typeinfo for std::__1::basic_ifstream<char, std::__1::char_traits<char> > in main-f0eaa5.o
typeinfo for std::__1::basic_filebuf<char, std::__1::char_traits<char> > in main-f0eaa5.o
NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
"vtable for std::__1::ios_base", referenced from:
_main in main-f0eaa5.o
NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
"vtable for std::__1::basic_ios<char, std::__1::char_traits<char> >", referenced from:
_main in main-f0eaa5.o
NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
"non-virtual thunk to std::__1::basic_istream<char, std::__1::char_traits<char> >::~basic_istream()", referenced from:
construction vtable for std::__1::basic_istream<char, std::__1::char_traits<char> >-in-std::__1::basic_ifstream<char, std::__1::char_traits<char> > in main-f0eaa5.o
"non-virtual thunk to std::__1::basic_istream<char, std::__1::char_traits<char> >::~basic_istream()", referenced from:
construction vtable for std::__1::basic_istream<char, std::__1::char_traits<char> >-in-std::__1::basic_ifstream<char, std::__1::char_traits<char> > in main-f0eaa5.o
"operator delete[](void*)", referenced from:
std::__1::basic_filebuf<char, std::__1::char_traits<char> >::~basic_filebuf() in main-f0eaa5.o
std::__1::basic_filebuf<char, std::__1::char_traits<char> >::imbue(std::__1::locale const&) in main-f0eaa5.o
std::__1::basic_filebuf<char, std::__1::char_traits<char> >::setbuf(char*, long) in main-f0eaa5.o
"operator delete(void*)", referenced from:
std::__1::basic_ifstream<char, std::__1::char_traits<char> >::~basic_ifstream() in main-f0eaa5.o
std::__1::basic_filebuf<char, std::__1::char_traits<char> >::~basic_filebuf() in main-f0eaa5.o
"operator new[](unsigned long)", referenced from:
std::__1::basic_filebuf<char, std::__1::char_traits<char> >::imbue(std::__1::locale const&) in main-f0eaa5.o
std::__1::basic_filebuf<char, std::__1::char_traits<char> >::setbuf(char*, long) in main-f0eaa5.o
"___cxa_allocate_exception", referenced from:
std::__1::basic_filebuf<char, std::__1::char_traits<char> >::seekoff(long long, std::__1::ios_base::seekdir, unsigned int) in main-f0eaa5.o
std::__1::basic_filebuf<char, std::__1::char_traits<char> >::sync() in main-f0eaa5.o
std::__1::basic_filebuf<char, std::__1::char_traits<char> >::underflow() in main-f0eaa5.o
std::__1::basic_filebuf<char, std::__1::char_traits<char> >::overflow(int) in main-f0eaa5.o
"___cxa_begin_catch", referenced from:
___clang_call_terminate in main-f0eaa5.o
std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in main-f0eaa5.o
std::__1::basic_filebuf<char, std::__1::char_traits<char> >::~basic_filebuf() in main-f0eaa5.o
"___cxa_call_unexpected", referenced from:
std::__1::basic_filebuf<char, std::__1::char_traits<char> >::close() in main-f0eaa5.o
std::__1::basic_filebuf<char, std::__1::char_traits<char> >::basic_filebuf() in main-f0eaa5.o
"___cxa_end_catch", referenced from:
std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in main-f0eaa5.o
std::__1::basic_filebuf<char, std::__1::char_traits<char> >::~basic_filebuf() in main-f0eaa5.o
"___cxa_throw", referenced from:
std::__1::basic_filebuf<char, std::__1::char_traits<char> >::seekoff(long long, std::__1::ios_base::seekdir, unsigned int) in main-f0eaa5.o
std::__1::basic_filebuf<char, std::__1::char_traits<char> >::sync() in main-f0eaa5.o
std::__1::basic_filebuf<char, std::__1::char_traits<char> >::underflow() in main-f0eaa5.o
std::__1::basic_filebuf<char, std::__1::char_traits<char> >::overflow(int) in main-f0eaa5.o
"___gxx_personality_v0", referenced from:
Partition_Info::getFileSystemType() in main-f0eaa5.o
_main in main-f0eaa5.o
std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::endl<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&) in main-f0eaa5.o
std::__1::basic_ifstream<char, std::__1::char_traits<char> >::~basic_ifstream() in main-f0eaa5.o
std::__1::basic_filebuf<char, std::__1::char_traits<char> >::close() in main-f0eaa5.o
std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in main-f0eaa5.o
std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> > std::__1::__pad_and_output<char, std::__1::char_traits<char> >(std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> >, char const*, char const*, char const*, std::__1::ios_base&, char) in main-f0eaa5.o
...
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Why Is the Undefined Symbols for Architecture x86_64: Error Happening? This error is happening due to the lack of included values inside the declared statements in your code. The browser is going to render the information incorrectly and show this error, especially if you are working with Main and Similarity tools.
Simple Solution Go to Target ->Linking -> other linker Flag and add $(inherited) in other linker flag in both Debug and Release.
The error Undefined symbols for architecture arm64: "_OBJC_CLASS_$_SKAdImpression" during the iOS build usually happens if XCode or CocoaPods version is lower than required. To fix it update XCode to 12.5 or higher and CocoaPods to 1.10. 0 or higher.
A symbol remains undefined when a symbol reference in a relocatable object is never matched to a symbol definition. Similarly, if a shared object is used to create a dynamic executable and leaves an unresolved symbol definition, an undefined symbol error results.
gcc is a compiler for C code.
g++ is a compiler for C++ code.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With