Compiling a test module boost_program_options_test.cpp
that is almost the same as boost_1_72_0\libs\program_options\example\first.cpp
:
>g++ -std=c++11 -Wall -g -o boost_program_options_test.exe -ID:\temp\boostinst-01\boost_1_72_0\ -LD:\temp\boostinst-01\boost_1_72_0\stage\lib\ boost_program_options_test.cpp -lboost_program_options-mgw81-mt-x64-1_72
It compiles successfully and works but the output file is too big (using Linux utils in Windows):
>du boost_program_options_test.exe -h
1,9M boost_program_options_test.exe
2M is really too much for just CLI parameters parsing! Please help me reduce the output to a reasonable size.
EDITED:
As people in the answers suggested did the following:
- switched off debug information (
-g
) - switched on optimization (
-O2
) - stripped the executable (using binutils from mimgw64 distribution)
That's what I get:
g++ -std=c++11 -Wall -g -o boost_program_options_test.exe -ID:\temp\boostinst-01\boost_1_72_0\ -LD:\temp\boostinst-01\boost_1_72_0stage\lib\ boost_program_options_test.cpp -lboost_program_options-mgw81-mt-x64-1_72
dir | find "boost_program_options_test.exe"
20.04.2020 09:56 1 950 374 boost_program_options_test.exe
g++ -std=c++11 -Wall -o boost_program_options_test.exe -ID:\temp\boostinst-01\boost_1_72_0\ -LD:\temp\boostinst-01\boost_1_72_0\stage\lib\ boost_program_options_test.cpp -lboost_program_options-mgw81-mt-x64-1_72
dir | find "boost_program_options_test.exe"
20.04.2020 09:56 1 115 710 boost_program_options_test.exe
g++ -std=c++11 -Wall -O2 -o boost_program_options_test.exe -ID:\temp\boostinst-01\boost_1_72_0\ -LD:\temp\boostinst-01\boost_1_72_0\stage\lib\ boost_program_options_test.cpp -lboost_program_options-mgw81-mt-x64-1_72
dir | find "boost_program_options_test.exe"
20.04.2020 09:56 753 051 boost_program_options_test.exe
strip --strip-all boost_program_options_test.exe
dir | find "boost_program_options_test.exe"
20.04.2020 09:56 293 888 boost_program_options_test.exe
Thanks guys!