Command-line options

NSLink handle some special options. Every options are prefixed with the following switch depending on the platform:

Platform Switch
Microsoft Windows /NSLINK:
Others -nslink:

Every other arguments are forwarded to the underlying linker.


Disable NSLink's LOGO header. By default, NSLink displays this header that contains useful informations such as version or available targets for cross-compiling:

NumScale Linker version 1.0 for x86, amd64.
NumScale SAS. All rights reserved.


Set the linker path that will be used while linking with NSLink.

The following values are used by default if none linker is provided:

Platform Linker
Microsoft Windows link.exe
Others c++
Under UNIX systems, c++ will invoke the default system's linker whenever it has to.


Display NSLink's brief options descriptions.


Output NSLink's version number.


Specify the target platform. This option can be used when cross-compiling. The default target is the same as the NSLink executable.


NSLink is looking for the library to link against on the command-line and will automatically replace it for the right library.

For example:

nslink-x86 main.o -nslink:target:amd64 -lbsimd -o a.out

Architecture target Valid target names
x86 x86
amd64 amd64, x86_64, x64
arm arm
aarch64 aarch64
ppc64 ppc64
ppc64le ppc64le
Only one target can be given!


Enable diagnostic output. This option is only useful for the NumScale's support team.

This options also supports other variants such as:

  • stdout which outputs diagnostic log on standard output
  • stderr which outputs diagnostic log on error output
  • file which outputs diagnostic log on a file with the current date in its filename
-nslink:diagnostic:file is the default option when no specificier is given

For example:

nslink-x86 main.o -nslink:diagnostic:stdout -lbsimd
nslink-x86 main.o -nslink:diagnostic:stderr -lbsimd
nslink-x86 main.o -nslink:diagnostic:file   -lbsimd
nslink-x86 main.o -nslink:diagnostic        -lbsimd # Same as `-nslink:diagnostic:file`