Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: yoyefej298 en 9 Marzo 2021, 21:51 pm



Título: No puedo crear y compilar proyectos en Mac c++
Publicado por: yoyefej298 en 9 Marzo 2021, 21:51 pm
actualmente estoy en MacOS BigSur, usando Visual Studio Code.

Tengo esta clase llamada main.cpp

Código
  1. #include <iostream>
  2. #include "Intercambio.h"
  3.  
  4. using namespace std;
  5.  
  6. int main()
  7. {
  8.    int a = 1, b = 2;
  9.  
  10.    cout << a << endl;
  11.    cout << b << endl;
  12.  
  13.    Intercambio(1,2);
  14.  
  15.    cout << a << endl;
  16.    cout << b << endl;
  17.  
  18.    return 0;
  19. }


Tengo este archivo de cabecera llamado Intercambio.h

Código
  1. void Intercambio(int a, int b);


y tengo otro archivo llamado Intercambio.cpp

Código
  1. void Intercambio(int a, int b)
  2. {
  3.    int aux;
  4.    aux = a;
  5.    a = b;
  6.    b = aux;
  7. }

Pero cuando compilo me aparece este error:

Undefined symbols for architecture x86_64: "Intercambio(int, int)", referenced from: _main in main-1bda5d.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

Estos programas los he intentado hacer en windows, pero en mi maquina principal (MacOS) no funciona :c


MOD: Especificado lenguaje C++ en las etiquetas de Código GeSHi (code=cpp)


Título: Re: No puedo crear y compilar proyectos en Mac c++
Publicado por: Eternal Idol en 9 Marzo 2021, 21:58 pm
Supongo que sera un problema del proyecto y no estara compilando Intercambio.cpp. ¿Alguna razon logica para no usar Xcode?



g++ main.cpp:
Citar
$ g++ main.cpp
Undefined symbols for architecture x86_64:
  "Intercambio(int, int)", referenced from:
      _main in main-247a3f.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

g++ main.cpp Intercambio.cpp funciona perfectamente.