ITK/Compilers: Difference between revisions

From KitwarePublic
< ITK
Jump to navigationJump to search
Line 9: Line 9:
* Always use CMake with ITK.  CMake has generators for most major build systems.  Attempting to, for example, use Visual Studio directly without CMake will make things much more difficult than they need to be.
* Always use CMake with ITK.  CMake has generators for most major build systems.  Attempting to, for example, use Visual Studio directly without CMake will make things much more difficult than they need to be.


* ITK does not distribute binaries on purpose.  An open source software development system has numerous advantages; one advantage is avoiding problems related building, distributing, and linking binaries.  Have your build system build ITK from source on the the same platform and with the same compiler to also avoid these problems.  Git submodules and the CMake ExternalProject system can help to do this.
* ITK does not distribute binaries on purpose.  An open source software development system has numerous advantages; one advantage is avoiding problems related building, distributing, and linking binaries.  Have your build system build ITK from source on the the same platform and with the same compiler avoids these problems.  Git submodules and the CMake ExternalProject system can help to do this.


* For a list of supported compilers, see the [[ITK_Release_4/Modern_C%2B%2B|supported compilers Wiki page]].  In general, though most accurate and informative supported compiler information is the set of compilers reporting to the [http://public.kitware.com/dashboard.php?name=itk nightly dashboard].  If you would help your favorite compiler to be better supported, consider [[ITK_Policy_and_Procedure_for_Adding_Dashboards|setting up a nightly dashboard submission]].
* For a list of supported compilers, see the [[ITK_Release_4/Modern_C%2B%2B|supported compilers Wiki page]].  The most accurate and informative supported compiler information is the set of compilers reporting to the [http://public.kitware.com/dashboard.php?name=itk nightly dashboard].  If you would help your favorite compiler to be better supported, consider [[ITK/Policy_and_Procedure_for_Adding_Dashboards|setting up a nightly dashboard submission]].


== Linux ==
== Linux ==

Revision as of 20:56, 11 February 2012

Compilers

This page contains information and tips on using compilers and build systems with ITK.

General Tips

Build systems

  • Always use CMake with ITK. CMake has generators for most major build systems. Attempting to, for example, use Visual Studio directly without CMake will make things much more difficult than they need to be.
  • ITK does not distribute binaries on purpose. An open source software development system has numerous advantages; one advantage is avoiding problems related building, distributing, and linking binaries. Have your build system build ITK from source on the the same platform and with the same compiler avoids these problems. Git submodules and the CMake ExternalProject system can help to do this.

Linux

  • ITK is usually supports the latest GCC very well.
  • LLVM support is good.
  • The "Unix Makefile" CMake generator support is very good. Recent CMake generator support for the Ninja build system is experimental, but most experiments have been successful.

Mac

Windows

Please avoid attempting to use ancient Visual Studio compilers, such as VS6, which has been put to rest.