1
0
Fork 0
mirror of https://github.com/tldr-pages/tldr.git synced 2025-04-29 23:24:55 +02:00
tldr/pages/common/g++.md

38 lines
1.4 KiB
Markdown
Raw Normal View History

# g++
2017-11-30 10:38:29 +05:30
> Compile C++ source files.
2017-11-30 10:38:29 +05:30
> Part of GCC (GNU Compiler Collection).
2019-06-07 11:58:18 +01:00
> More information: <https://gcc.gnu.org>.
2017-11-30 10:38:29 +05:30
- Compile a source code file into an executable binary:
`g++ {{path/to/source1.cpp path/to/source2.cpp ...}} {{-o|--output}} {{path/to/output_executable}}`
2017-11-30 10:38:29 +05:30
- Activate output of all errors and warnings:
2017-11-30 10:38:29 +05:30
`g++ {{path/to/source.cpp}} -Wall {{-o|--output}} {{output_executable}}`
- Show common warnings, debug symbols in output, and optimize without affecting debugging:
`g++ {{path/to/source.cpp}} -Wall {{-g|--debug}} -Og {{-o|--output}} {{path/to/output_executable}}`
2017-11-30 10:38:29 +05:30
- Choose a language standard to compile for (C++98/C++11/C++14/C++17):
2017-11-30 10:38:29 +05:30
`g++ {{path/to/source.cpp}} -std={{c++98|c++11|c++14|c++17}} {{-o|--output}} {{path/to/output_executable}}`
2017-11-30 10:38:29 +05:30
- Include libraries located at a different path than the source file:
`g++ {{path/to/source.cpp}} {{-o|--output}} {{path/to/output_executable}} -I{{path/to/header}} -L{{path/to/library}} -l{{library_name}}`
2022-09-20 09:17:58 +05:30
- Compile and link multiple source code files into an executable binary:
`g++ {{-c|--compile}} {{path/to/source1.cpp path/to/source2.cpp ...}} && g++ {{-o|--output}} {{path/to/output_executable}} {{path/to/source1.o path/to/source2.o ...}}`
2022-09-20 09:17:58 +05:30
- Optimize the compiled program for performance:
`g++ {{path/to/source.cpp}} -O{{1|2|3|fast}} {{-o|--output}} {{path/to/output_executable}}`
2022-09-20 09:17:58 +05:30
- Display version:
`g++ --version`