CharlesVercetti Posted March 24, 2018 Share Posted March 24, 2018 There seems to be problem with the Code Blocks IDE.Whenever I compile a plugin in it,the size of the plugin shoots up to a huge size...For a code which sums up to just near 20 lines...that's too much.The code is given below.It was compiled with Plugin SDK by _DK. #include "plugin.h"using namespace plugin;class ChhudcolVC {public: ChhudcolVC() { config_file conf(PLUGIN_PATH("chhudcolVC.ini")); auto WriteColor = [](unsigned int addrR, unsigned int addrG, unsigned int addrB, CRGBA const &clr) { patch::SetUChar(addrR, clr.red); patch::SetUChar(addrG, clr.green); patch::SetUChar(addrB, clr.blue); }; WriteColor(5604015, 5604010, 5604005, conf[ "MoneyColor" ].asRGBA()); WriteColor(5606313, 5606308, 5606303, conf[ "HealthColor" ].asRGBA()); WriteColor(5606542, 5606502, 5606497, conf[ "HealthIconColor" ].asRGBA()); WriteColor(5606950, 5606945, 5606940, conf[ "ArmorColor" ].asRGBA()); WriteColor(5607166, 5607126, 5607121, conf[ "ArmorIconColor" ].asRGBA()); WriteColor(5605570, 5605565, 5605560, conf[ "AmmoColor" ].asRGBA()); WriteColor(5607626, 5607621, 5607616, conf[ "WantedActiveColor" ].asRGBA()); WriteColor(5607720, 5607715, 5607710, conf[ "WantedSuspendedColor"].asRGBA()); WriteColor(5607792, 5607790, 5607785, conf[ "WantedInactiveColor" ].asRGBA()); WriteColor(5609812, 5609807, 5609805, conf[ "ZoneColor" ].asRGBA()); WriteColor(5610979, 5610974, 5610969, conf[ "VehicleColor" ].asRGBA()); WriteColor(5611409, 5611404, 5611399, conf[ "TimeColor" ].asRGBA()); }} chhudcolVC; Link to comment Share on other sites More sharing options...
Parik Posted March 24, 2018 Share Posted March 24, 2018 (edited) Your plugin probably has debugging symbols enabled in it, hence the large size of the executable. You need to enable the [-s] option in the compiler settings in Code::Blocks, or use the `strip` program included in gnu binutils. Also, iirc plugin-sdk configures two build targets for you , "Debug" and "Release". Switching to "Release" build type should automatically disable the debugging symbols for you. PS: dont blame Code::Blocks for it please Edited March 24, 2018 by Parik Link to comment Share on other sites More sharing options...
CharlesVercetti Posted March 24, 2018 Author Share Posted March 24, 2018 Your plugin probably has debugging symbols enabled in it, hence the large size of the executable. You need to enable the [-s] option in the compiler settings in Code::Blocks, or use the `strip` program included in gnu binutils. Also, iirc plugin-sdk configures two build targets for you , "Debug" and "Release". Switching to "Release" build type should automatically disable the debugging symbols for you. PS: dont blame Code::Blocks for it please ​ Please check whether the settings I given are correct. Link to comment Share on other sites More sharing options...
Parik Posted March 24, 2018 Share Posted March 24, 2018 Your settings are correct. Link to comment Share on other sites More sharing options...
CharlesVercetti Posted March 24, 2018 Author Share Posted March 24, 2018 Your settings are correct. Well...then you must have noted it.For a code of 20 odd lines,the compiler gives out an enormous 882 kb plugin,where as it is supposed to be under 50 kb.Am I missing something? Link to comment Share on other sites More sharing options...
Parik Posted March 24, 2018 Share Posted March 24, 2018 Your settings are correct. Well...then you must have noted it.For a code of 20 odd lines,the compiler gives out an enormous 882 kb plugin,where as it is supposed to be under 50 kb.Am I missing something? That's the size you're gonna get if you use the mingw compiler, as it is statically linking with libstdc++, and also because of many other factors.If you want to reduce the size either use Visual C++ or upx. The reason that binaries made using Visual C++ are smaller is because they dynamically link with the runtime libraries, instead of statically linking them. Link to comment Share on other sites More sharing options...