{"id":25440204,"url":"https://github.com/raynersec/cpp-compiler-win-linux","last_synced_at":"2025-07-31T04:36:30.214Z","repository":{"id":133434492,"uuid":"313621441","full_name":"RaynerSec/Cpp-Compiler-Win-Linux","owner":"RaynerSec","description":"Compile C++ To Windows Executable On Linux","archived":false,"fork":false,"pushed_at":"2020-11-28T08:58:01.000Z","size":38,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-12T03:49:23.622Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RaynerSec.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-11-17T13:03:11.000Z","updated_at":"2020-11-28T08:58:03.000Z","dependencies_parsed_at":"2023-03-16T05:15:22.976Z","dependency_job_id":null,"html_url":"https://github.com/RaynerSec/Cpp-Compiler-Win-Linux","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/RaynerSec/Cpp-Compiler-Win-Linux","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RaynerSec%2FCpp-Compiler-Win-Linux","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RaynerSec%2FCpp-Compiler-Win-Linux/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RaynerSec%2FCpp-Compiler-Win-Linux/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RaynerSec%2FCpp-Compiler-Win-Linux/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RaynerSec","download_url":"https://codeload.github.com/RaynerSec/Cpp-Compiler-Win-Linux/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RaynerSec%2FCpp-Compiler-Win-Linux/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267988458,"owners_count":24176996,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-31T02:00:08.723Z","response_time":66,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-02-17T11:29:55.103Z","updated_at":"2025-07-31T04:36:30.186Z","avatar_url":"https://github.com/RaynerSec.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Cpp-Compiler-Win-Linux\nCompile C++ To Windows Executable On Linux\n\n## Usage\n### How To Use Cpp-Compiler-Win-Linux 32Bit Version\n1. Install Dependencies In Debian/Ubuntu/Kali/Parrot Sec OS Linux `sudo apt-get update \u0026\u0026 sudo apt-get install mingw-w64 git -y`\n2. Git Clone Repo `git clone https://github.com/RaynerSec/Cpp-Compiler-Win-Linux`\n3. Change Directory `cd Cpp-Compiler-Win-Linux`\n4. Give execution permission `chmod +x cpp-compiler-32bit.sh`\n5. Run script `./cpp-compiler-32bit.sh \u003coptions\u003e`\n### How To Use Cpp-Compiler-Win-Linux 64Bit Version\n1. Install Dependencies In Debian/Ubuntu/Kali/Parrot Sec OS Linux `sudo apt-get update \u0026\u0026 sudo apt-get install mingw-w64 git -y`\n2. Git Clone Repo `git clone https://github.com/RaynerSec/Cpp-Compiler-Win-Linux`\n3. Change Directory `cd Cpp-Compiler-Win-Linux`\n4. Give execution permission `chmod +x cpp-compiler-64bit.sh`\n5. Run script `./cpp-compiler-64bit.sh \u003coptions\u003e`\n### Cpp-Compiler-Win-Linux 32Bit Version Options\n```\nUsage: cpp-compiler-32bit.sh [options] file...\nOptions:                                               \n  -pass-exit-codes         Exit with highest error code from a phase.                                       \n  --help                   Display this information.\n  --target-help            Display target specific command line options.\n  --help={common|optimizers|params|target|warnings|[^]{joined|separate|undocumented}}[,...].\n                           Display specific types of command line options.\n  (Use '-v --help' to display command line options of sub-processes).\n  --version                Display compiler version information.\n  -dumpspecs               Display all of the built in spec strings.\n  -dumpversion             Display the version of the compiler.                                             \n  -dumpmachine             Display the compiler's target processor.                                         \n  -print-search-dirs       Display the directories in the compiler's search path.                           \n  -print-libgcc-file-name  Display the name of the compiler's companion library.\n  -print-file-name=\u003clib\u003e   Display the full path to library \u003clib\u003e.\n  -print-prog-name=\u003cprog\u003e  Display the full path to compiler component \u003cprog\u003e.\n  -print-multiarch         Display the target's normalized GNU triplet, used as\n                           a component in the library path.\n  -print-multi-directory   Display the root directory for versions of libgcc.\n  -print-multi-lib         Display the mapping between command line options and\n                           multiple library search directories.\n  -print-multi-os-directory Display the relative path to OS libraries.\n  -print-sysroot           Display the target libraries directory.\n  -print-sysroot-headers-suffix Display the sysroot suffix used to find headers.\n  -Wa,\u003coptions\u003e            Pass comma-separated \u003coptions\u003e on to the assembler.\n  -Wp,\u003coptions\u003e            Pass comma-separated \u003coptions\u003e on to the preprocessor.\n  -Wl,\u003coptions\u003e            Pass comma-separated \u003coptions\u003e on to the linker.\n  -Xassembler \u003carg\u003e        Pass \u003carg\u003e on to the assembler.\n  -Xpreprocessor \u003carg\u003e     Pass \u003carg\u003e on to the preprocessor.\n  -Xlinker \u003carg\u003e           Pass \u003carg\u003e on to the linker.\n  -save-temps              Do not delete intermediate files.\n  -save-temps=\u003carg\u003e        Do not delete intermediate files.\n  -no-canonical-prefixes   Do not canonicalize paths when building relative\n                           prefixes to other gcc components.\n  -pipe                    Use pipes rather than intermediate files.\n  -time                    Time the execution of each subprocess.\n  -specs=\u003cfile\u003e            Override built-in specs with the contents of \u003cfile\u003e.\n  -std=\u003cstandard\u003e          Assume that the input sources are for \u003cstandard\u003e.\n  --sysroot=\u003cdirectory\u003e    Use \u003cdirectory\u003e as the root directory for headers\n                           and libraries.\n  -B \u003cdirectory\u003e           Add \u003cdirectory\u003e to the compiler's search paths.\n  -v                       Display the programs invoked by the compiler.\n  -###                     Like -v but options quoted and commands not executed.\n  -E                       Preprocess only; do not compile, assemble or link.\n  -S                       Compile only; do not assemble or link.\n  -c                       Compile and assemble, but do not link.\n  -o \u003cfile\u003e                Place the output into \u003cfile\u003e.\n  -pie                     Create a dynamically linked position independent\n                           executable.\n  -shared                  Create a shared library.\n  -x \u003clanguage\u003e            Specify the language of the following input files.\n                           Permissible languages include: c c++ assembler none\n                           'none' means revert to the default behavior of\n                           guessing the language based on the file's extension.\n\nOptions starting with -g, -f, -m, -O, -W, or --param are automatically\n passed on to the various sub-processes invoked by cpp-compiler-32bit.sh.  \nIn order to pass other options on to these processes the -W\u003cletter\u003e options must be used.\n```\n### Cpp-Compiler-Win-Linux 64Bit Version Options\n```\nUsage: cpp-compiler-64bit.sh [options] file...\nOptions:\n  -pass-exit-codes         Exit with highest error code from a phase.\n  --help                   Display this information.\n  --target-help            Display target specific command line options.\n  --help={common|optimizers|params|target|warnings|[^]{joined|separate|undocumented}}[,...].\n                           Display specific types of command line options.\n  (Use '-v --help' to display command line options of sub-processes).\n  --version                Display compiler version information.\n  -dumpspecs               Display all of the built in spec strings.\n  -dumpversion             Display the version of the compiler.\n  -dumpmachine             Display the compiler's target processor.\n  -print-search-dirs       Display the directories in the compiler's search path.\n  -print-libgcc-file-name  Display the name of the compiler's companion library.\n  -print-file-name=\u003clib\u003e   Display the full path to library \u003clib\u003e.\n  -print-prog-name=\u003cprog\u003e  Display the full path to compiler component \u003cprog\u003e.\n  -print-multiarch         Display the target's normalized GNU triplet, used as\n                           a component in the library path.\n  -print-multi-directory   Display the root directory for versions of libgcc.\n  -print-multi-lib         Display the mapping between command line options and\n                           multiple library search directories.\n  -print-multi-os-directory Display the relative path to OS libraries.\n  -print-sysroot           Display the target libraries directory.\n  -print-sysroot-headers-suffix Display the sysroot suffix used to find headers.\n  -Wa,\u003coptions\u003e            Pass comma-separated \u003coptions\u003e on to the assembler.\n  -Wp,\u003coptions\u003e            Pass comma-separated \u003coptions\u003e on to the preprocessor.\n  -Wl,\u003coptions\u003e            Pass comma-separated \u003coptions\u003e on to the linker.\n  -Xassembler \u003carg\u003e        Pass \u003carg\u003e on to the assembler.\n  -Xpreprocessor \u003carg\u003e     Pass \u003carg\u003e on to the preprocessor.\n  -Xlinker \u003carg\u003e           Pass \u003carg\u003e on to the linker.\n  -save-temps              Do not delete intermediate files.\n  -save-temps=\u003carg\u003e        Do not delete intermediate files.\n  -no-canonical-prefixes   Do not canonicalize paths when building relative\n                           prefixes to other gcc components.\n  -pipe                    Use pipes rather than intermediate files.\n  -time                    Time the execution of each subprocess.\n  -specs=\u003cfile\u003e            Override built-in specs with the contents of \u003cfile\u003e.\n  -std=\u003cstandard\u003e          Assume that the input sources are for \u003cstandard\u003e.\n  --sysroot=\u003cdirectory\u003e    Use \u003cdirectory\u003e as the root directory for headers\n                           and libraries.\n  -B \u003cdirectory\u003e           Add \u003cdirectory\u003e to the compiler's search paths.\n  -v                       Display the programs invoked by the compiler.\n  -###                     Like -v but options quoted and commands not executed.\n  -E                       Preprocess only; do not compile, assemble or link.\n  -S                       Compile only; do not assemble or link.\n  -c                       Compile and assemble, but do not link.\n  -o \u003cfile\u003e                Place the output into \u003cfile\u003e.\n  -pie                     Create a dynamically linked position independent\n                           executable.\n  -shared                  Create a shared library.\n  -x \u003clanguage\u003e            Specify the language of the following input files.\n                           Permissible languages include: c c++ assembler none\n                           'none' means revert to the default behavior of\n                           guessing the language based on the file's extension.\n\nOptions starting with -g, -f, -m, -O, -W, or --param are automatically\n passed on to the various sub-processes invoked by cpp-compiler-64bit.sh.  \nIn order to pass other options on to these processes the -W\u003cletter\u003e options must be used.\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraynersec%2Fcpp-compiler-win-linux","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fraynersec%2Fcpp-compiler-win-linux","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraynersec%2Fcpp-compiler-win-linux/lists"}