salve a tutti
sto iniziando a programmare in cpp e un esercizio mi chiede di creare una libreria statica che implementa una funzione di stampa array. io ho creato un progetto per la libreria e un progetto di prova che sono i seguenti:

mioarray.h
codice:
void stampa_array(int*, int);
mioarray.cpp
codice:
#include<iostream>
#include<string>
#include"mioarray.h"
using namespace std;

void stampa_array(int* vet, int numelem)
{
     int i = 0;
     while (i <= numelem)
           cout << vet[i] << " ";
     cout << "\n";
}
provaarray
codice:
#include <iostream>
#include <string>
#include "mioarray.h"

using namespace std;

int main()
{
    int i = 0;
    int* vettore;
    int numeroelem;
    
    cout << "inserire il numero di elementi da inserire nel vettore \n";
    cin >> numeroelem;
    
    while (i <= numeroelem - 1)
    {
          cout << "immettere il " << (i + 1) << "^ elemento ";
          cin >> vettore[i++]; 
    }
    
    stampa_array(vettore, numeroelem);
    
    system("pause");
    return 0;
}
la libreria mioarray.a mi viene creata mentre quando mando in compilazione ed esecuzione il progetto provaarray mi viene visualizzato il seguente errore:

[Linker error] undefined reference to `stampa_array(int*, int)'
ld returned 1 exit status
[Build Error] [provaarray.exe] Error 1


dove ho sbagliato?? e cosa devo fare per rimediare???