nlib
Information About the Libraries for CTR
Required Software
Requires the CTR SDK (10.0 or later) and a C++ compiler. The following software programs are also required for the sample to be built.
Directory Structure
The CTR package has the following directory structure.
├── lib
│   └── omake                       # Library files.
└── samples
     ├── ctr/OMakefile               # OMakefile for the samples.
     └── cmake/cmake_ctr_ninja.ps1   # A PowerShell script for creating build.ninja for the sample programs.
Cmake_ctr_ninja.ps1 creates a build script for building with cmake and ninja for Windows.
Coexistence With the CTR Socket Library
The CTR socket library is defined as enumerator values by a macro that is defined in a POSIX standard errno.h header file (by socket_User.autogen.h). Consequently, there are major difficulties when the CTR socket library coexists not only with nlib but also with the C standard functions for handling error information.
If you are using the CTR socket library, a safe way to deal with this situation is to not include the header of the CTR socket library in the header file for your project.
Notes (Use of oss)
To use bsdiff or LZ4 included in the oss library (libnx_oss_sqlite3.a, libnx_oss_bsdiff.a, libnx_oss_lz4.a) in your product, a copyright notice is required in the e-manual. Note that it is not required for SQLite. For more information on how to describe the specific note, see "CTR Electronic Manual Creation Guide Part 2 - Template Units" included in "CTR Electronic Manual Creation Guide."
Other Platform-Specific Information