repositorios programas para paquetes instalar gestor consola comando arch antergos actualizar c++ macos gcc g++ gcc4

c++ - paquetes - programas para antergos



¿Por qué obtengo cc1plus: error: opción de línea de comando no reconocida "-arch"? (4)

La opción -arch es parte de las extensiones de Apple para gcc . gcc usar el gcc suministrado por las herramientas para desarrolladores de Apple, Xcode .

/usr/bin/make -f nbproject/Makefile-Debug.mk SUBPROJECTS= .build-conf /usr/bin/make -f nbproject/Makefile-Debug.mk dist/Debug/GNU-MacOSX/cppapplication_1 mkdir -p build/Debug/GNU-MacOSX rm -f build/Debug/GNU-MacOSX/main.o.d g++ -arch i386 -c -g -MMD -MP -MF build/Debug/GNU-MacOSX/main.o.d -o build/Debug/GNU-MacOSX/main.o main.cpp cc1plus: error: unrecognized command line option "-arch" make[2]: *** [build/Debug/GNU-MacOSX/main.o] Error 1 make[1]: *** [.build-conf] Error 2 make: *** [.build-impl] Error 2 BUILD FAILED (exit value 2, total time: 311ms) simpatico$ g++ -v Using built-in specs. COLLECT_GCC=g++ COLLECT_LTO_WRAPPER=/opt/local/libexec/gcc/x86_64-apple-darwin10/4.5.1/lto-wrapper Target: x86_64-apple-darwin10 Configured with: ../gcc-4.5.1/configure --prefix=/opt/local --build=x86_64-apple-darwin10 --enable-languages=c,c++,objc,obj-c++,fortran,java --libdir=/opt/local/lib/gcc45 --includedir=/opt/local/include/gcc45 --infodir=/opt/local/share/info --mandir=/opt/local/share/man --datarootdir=/opt/local/share/gcc-4.5 --with-local-prefix=/opt/local --with-system-zlib --disable-nls --program-suffix=-mp-4.5 --with-gxx-include-dir=/opt/local/include/gcc45/c++/ --with-gmp=/opt/local --with-mpfr=/opt/local --with-mpc=/opt/local --enable-stage1-checking --disable-multilib --enable-fully-dynamic-string Thread model: posix gcc version 4.5.1 (GCC)

Este simple de un archivo:

#include <stdlib.h> int main(int argc, char** argv) { return (EXIT_SUCCESS); }


La opción -arch solo está en la versión de gcc proporcionada por Apple. Cambie CFLAGS (que se puede establecer a través de su entorno, su archivo MAKE o sus opciones de configuración) para que use -march o -m32 en -m32 lugar. Por ejemplo:

configure CFLAGS=''-m32 -O2'' CC=gcc-4.5

La diferencia parece ser que puede especificar varias opciones de -arch para generar binarios universales, mientras que -march solo genera una a la vez.


Este error existe en muchas formas, independientemente de la máquina o el tipo de compilación. La solución, en general, es cambiar las variables PATH y CROSS_COMPILE para incluir el compilador cruzado correcto.


La versión macports de GCC no es compatible con el indicador -arch. Al final, el GCC de Apple es un envoltorio alrededor del gcc real que cumple algunas banderas especiales antes de llamar al compilador real. La bandera de la búsqueda es una de estas banderas. Llama al compilador apropiado para cada uno de los arcos especificados y luego usa lipo para mezclar todos los archivos de objeto en un archivo de objeto "grueso".

Acabo de pasar un poco de tiempo para que esta envoltura Apple GCC funcione con macports GCC. Si desea los detalles, puede encontrarlos aquí:

http://thecoderslife.blogspot.com/2015/07/building-with-gcc-46-and-xcode-4.html