To use the replacement linker on C++ applications, the module that calls main() must be extracted from its library file and included in the linking script.
The following example Verilog application is written in C++ and being re-linked on Solaris. It reports an undefined symbol main in libckpt.a:
/usr/ccs/bin/ld /opt/SUNWspro/SC3.0.1/lib/crti.o /opt/SUNWspro/SC3.0.1/lib/crt1.o /opt/SUNWspro/SC3.0.1/lib/cg89/__fstd.o /opt/SUNWspro/SC3.0.1/lib/values-xt.o -Y P,lxx/lib:opt/SUNWspro/SC3.0.1/lib:/usr/ccs/lib:/usr/lib -o verilog verilog.o verilog/lib/*.o lib/libcman.a -L/usr/openwin/lib -lXt -X11 lib/libvoids.a -lm ‑lgen lxx/lib/_main.o -lC -lC_mtstubs -lsocket -lnsl -lintl -w -c -ldl /opt/SUNWspro/lib/crtn.o