簡體   English   中英

如何在cygwin下將i686-w64-mingw32-gcc-4.5.3.exe別名為gcc?

[英]How do I alias i686-w64-mingw32-gcc-4.5.3.exe to gcc under cygwin?

我現在在cygwin中安裝了兩個gcc:i686-w64-mingw32-gcc-4.5.3.exe和cygwin gcc。 為了清楚起見,我會告訴你我做了什么:

$ ls -al /usr/bin/gcc*
lrwxrwxrwx 1 User None    21 Aug 16 13:15 /usr/bin/gcc.exe -> /etc/alternatives/gcc
-rwxr-xr-x 2 User None 94741 Feb 25  2009 /usr/bin/gcc-3.exe

$ ls -al /etc/alternatives/gcc*
lrwxrwxrwx 1 User None 18 Aug 16 13:15 /etc/alternatives/gcc -> /usr/bin/gcc-3.exe

$ rm /etc/alternatives/gcc

$ ln -S /usr/bin/i686-w64-mingw32-gcc-4.5.3.exe /etc/alternatives/gcc

$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
Target: i686-w64-mingw32
Configured with: /cygdrive/i/szsz/tmpp/32gcc/mingw64-i686-gcc-4.5.3-6/src/gcc-4.5.3/configure --srcdir=/cygdrive/i/szsz/tmpp/32gcc/mingw64-i686-gcc-4.5.3-6/src/gcc-4.5.3 --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --libexecdir=/usr/lib --datadir=/usr/share --localstatedir=/var --sysconfdir=/etc --datarootdir=/usr/share --docdir=/usr/share/doc/mingw64-i686-gcc -C --build=i686-pc-cygwin --host=i686-pc-cygwin --target=i686-w64-mingw32 --with-sysroot=/usr/i686-w64-mingw32/sys-root --with-build-sysroot=/usr/i686-w64-mingw32/sys-root --disable-multilib --disable-win32-registry --enable-languages=c,ada,c++,fortran,objc,obj-c++ --enable-fully-dynamic-string --enable-libgomp --enable-sjlj-exceptions --enable-version-specific-runtime-libs --with-dwarf2 --enable-decimal-float=bid --enable-lto
Thread model: win32
gcc version 4.5.3 (GCC)

$ gcc -o test test.c
gcc: error trying to exec 'cc1': execvp: No such file or directory

$ /usr/bin/i686-w64-mingw32-gcc.exe -o test test.c

$

我如何才能使用gcc?

我認為您需要更改/usr/bin的gcc符號鏈接,以指向正確的GCC版本。 另外,您可以編輯PATH ,使/etc/alternatives出現在/usr/bin之前,但這可能會帶來意想不到的副作用,具體取決於您的設置。

如果需要本機MinGW-w64 GCC,請使用本機Windows版本的編譯器,並從cmd調用它,或者如果必須使用MSYS。 如果不是,請使用Cygwin到Windows的交叉編譯器,並在Makefile / CMakeLists.txt / configure腳本中對前綴進行編碼。

記住Cygwin!= Windows,您正在做的是交叉編譯,這在GCC領域是通過調用帶前綴的二進制文件來完成的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM