2021-03-10 19:34:48 +00:00
|
|
|
# g++
|
2017-11-30 05:08:29 +00:00
|
|
|
|
|
|
|
> Compiles C++ source files.
|
|
|
|
> Part of GCC (GNU Compiler Collection).
|
2019-06-07 11:58:18 +01:00
|
|
|
> More information: <https://gcc.gnu.org>.
|
2017-11-30 05:08:29 +00:00
|
|
|
|
|
|
|
- Compile a source code file into an executable binary:
|
|
|
|
|
2022-03-02 11:36:03 +00:00
|
|
|
`g++ {{path/to/source.cpp}} -o {{path/to/output_executable}}`
|
2017-11-30 05:08:29 +00:00
|
|
|
|
2022-10-03 06:37:06 +01:00
|
|
|
- Display common warnings:
|
2017-11-30 05:08:29 +00:00
|
|
|
|
2022-03-02 11:36:03 +00:00
|
|
|
`g++ {{path/to/source.cpp}} -Wall -o {{path/to/output_executable}}`
|
2017-11-30 05:08:29 +00:00
|
|
|
|
2022-03-02 11:36:03 +00:00
|
|
|
- Choose a language standard to compile for (C++98/C++11/C++14/C++17):
|
2017-11-30 05:08:29 +00:00
|
|
|
|
2022-03-02 11:36:03 +00:00
|
|
|
`g++ {{path/to/source.cpp}} -std={{c++98|c++11|c++14|c++17}} -o {{path/to/output_executable}}`
|
2017-11-30 05:08:29 +00:00
|
|
|
|
|
|
|
- Include libraries located at a different path than the source file:
|
|
|
|
|
2022-03-02 11:36:03 +00:00
|
|
|
`g++ {{path/to/source.cpp}} -o {{path/to/output_executable}} -I{{path/to/header}} -L{{path/to/library}} -l{{library_name}}`
|
2022-09-20 04:47:58 +01:00
|
|
|
|
|
|
|
- Compile and link multiple source code files into an executable binary:
|
|
|
|
|
2024-01-31 03:55:19 +00:00
|
|
|
`g++ -c {{path/to/source1.cpp path/to/source2.cpp ...}} && g++ -o {{path/to/output_executable}} {{path/to/source1.o path/to/source2.o ...}}`
|
2022-09-20 04:47:58 +01:00
|
|
|
|
2023-12-02 08:26:47 +00:00
|
|
|
- Optimize the compiled program for performance:
|
|
|
|
|
|
|
|
`g++ {{path/to/source.cpp}} -O{{1|2|3|fast}} -o {{path/to/output_executable}}`
|
|
|
|
|
2022-09-20 04:47:58 +01:00
|
|
|
- Display version:
|
|
|
|
|
|
|
|
`g++ --version`
|