public CompilerResults Build(string dirWithSrc)
        {
            string[] sources = GetSourcesFromDir(dirWithSrc, new string[] { ".cpp", ".h" });

            var cppc = new CppCodeProvider();

            var parameters = new CompilerParameters();

            parameters.OutputAssembly          = OutputFile;
            parameters.GenerateExecutable      = Executable;
            parameters.GenerateInMemory        = GenerateInMemory;
            parameters.IncludeDebugInformation = IncludeDebugInfo;

            parameters.ReferencedAssemblies.AddRange(IncludedLibraries.ToArray());
            parameters.EmbeddedResources.AddRange(EmbeddedResources.ToArray());
            parameters.LinkedResources.AddRange(LinkedResources.ToArray());

            if (MainClass != null)
            {
                parameters.MainClass = MainClass;
            }

            CompilerResults results = cppc.CompileAssemblyFromSource(parameters, sources);

            return(results);
        }
        // Biên dịch file chứa Source code sang file exe
        public static CompilerResults CompileFromFile(string fileName, string outputFile, string language)
        {
            CSharpCodeProvider codeCSharpProvider = new CSharpCodeProvider();
            CppCodeProvider    codeCPPProvider    = new CppCodeProvider();

            CompilerParameters paramters = new CompilerParameters();

            paramters.OutputAssembly     = outputFile;
            paramters.GenerateExecutable = true;


            CompilerResults results = null;

            if (language == "C#")
            {
                results = codeCSharpProvider.CompileAssemblyFromFile(paramters, fileName);
            }
            else if (language == "C++")
            {
                results = codeCPPProvider.CompileAssemblyFromFile(paramters, fileName);
            }

            return(results);
        }