I don't understand. none of the above seems to answer the question of what you have to do in order to compile a c++ program or library from command line.
For a start if you search the man pages for information using:
man c++
or
man clang
or man clang++
it brings up the page for "clang" which it says on that page is the compiler for c, c++ and objective-c
here's my command for building object file for a library and the command i am using to try to create and dynamic link library
clang -g -fPIC -mdynamic-no-pic -c slabhra.cpp -o slabhra.o 0>>./tmp 1>>./tmp 2>>./tmp
clang -mdynamic-no-pic -target arm64 -dylib -o libarmlann.dylib slabhra.o 0>>./tmp 1>>./tmp 2>>./tmp
Undefined symbols for architecture arm64:
"typeinfo for char const*", referenced from:
slabhra::getCharStrAtLocation(int) in slabhra.o
slabhra::getCharStrAtLocation(int) in slabhra.o
"operator new[](unsigned long)", referenced from:
slabhra::slabhra() in slabhra.o
slabhra::slabhra() in slabhra.o
slabhra::slabhra(char*) in slabhra.o
slabhra::slabhra(char*) in slabhra.o
slabhra::slabhra(char const*) in slabhra.o
slabhra::slabhra(char const*) in slabhra.o
slabhra::operator=(char*) in slabhra.o
...
"___cxa_allocate_exception", referenced from:
slabhra::getCharStrAtLocation(int) in slabhra.o
slabhra::getCharStrAtLocation(int) in slabhra.o
"___cxa_throw", referenced from:
slabhra::getCharStrAtLocation(int) in slabhra.o
slabhra::getCharStrAtLocation(int) in slabhra.o
"___gxx_personality_v0", referenced from:
/Volumes/External SSD/valuable/foinse/cód/armlann/slabhra.o
"_main", referenced from:
<initial-undefines>
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
clang: error: linker (via gcc) command failed with exit code 1 (use -v to see invocation)
I am expecting an INCLUDE path update or an install of extra code/object/libraries... i.e. i'm not sure what they mean by symbols.
Thanks in advance for looking at my issue...