Test Foro de elhacker.net SMF 2.1

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 (cpp) [Seleccionar]
#include <iostream>
#include "Intercambio.h"

using namespace std;

int main()
{
   int a = 1, b = 2;

   cout << a << endl;
   cout << b << endl;

   Intercambio(1,2);

   cout << a << endl;
   cout << b << endl;

   return 0;
}



Tengo este archivo de cabecera llamado Intercambio.h

Código (cpp) [Seleccionar]
void Intercambio(int a, int b);


y tengo otro archivo llamado Intercambio.cpp

Código (cpp) [Seleccionar]
void Intercambio(int a, int b)
{
   int aux;
   aux = a;
   a = b;
   b = aux;
}


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.