As mezek mentioned, the order of files on the command line does matter. At the point you link in the library, there are no outstanding symbols to resolve, so nothing is linked. Then you link your object which has outstanding symbols, which are not resolved.
If you change the order, your object will have outstanding symbols, which will be resolved by the library which is linked next.
qnx.com/developers/docs/mome … q/qcc.html and same page in 6.2.1 helpviewer have a note on “resolve order in single-pass linker” but still many people, who are used to use a IDE or recursive linker, get confused by this error (me included