Getting an error when using a library in arduino but not other c++ programs

I made a library for generic queues and tested it in visual studio in c++ and it worked fine.
Now when it came to using it in arduino (esp32 platformIO but with arduino framework) im getting this error message:

Building in release mode
Compiling .pio\build\ttgo-lora32-v1\src\main.cpp.o
Linking .pio\build\ttgo-lora32-v1\firmware.elf
.pio\build\ttgo-lora32-v1\src\main.cpp.o:(.literal._Z5setupv+0x0): undefined reference to `Queue<int>::Queue(unsigned short)'
.pio\build\ttgo-lora32-v1\src\main.cpp.o:(.literal._Z5setupv+0x4): undefined reference to `Queue<int>::~Queue()'
.pio\build\ttgo-lora32-v1\src\main.cpp.o: In function `setup()':
C:\Users\Chris Steffen\Documents\PlatformIO\Projects\WateringSystem/src/main.cpp:56: undefined reference to `Queue<int>::Queue(unsigned short)'
C:\Users\Chris Steffen\Documents\PlatformIO\Projects\WateringSystem/src/main.cpp:56: undefined reference to `Queue<int>::~Queue()'

the .h is:

#ifndef _QUEUEDATA_H_
#define _QUEUEDATA_H_

#include <Arduino.h>


template <typename T>
class Queue {
public:

	Queue(uint16_t size);
	~Queue();

	T deQueue();
	bool enQueue(T in);

	bool isEmpty() { return numElements == 0 ? true : false; };
	bool isFull() { return numElements == size ? true : false; };
	T rear() { return queue[head == 0 ? (size - 1) : (head - 1)]; };
	T front() { return queue[tail]; };


private:

	T *queue;

	uint16_t head = 0;
	uint16_t tail = 0;

	uint16_t size;

	uint16_t numElements = 0;

};


#endif

and .ccp is:

#include "queueData.h"




template <typename T>
Queue<T>::Queue(uint16_t _size) {

	size = _size;

	queue = new T[size];

}


template <typename T>
Queue<T>::~Queue() {

	delete [] queue;

}


template <typename T>
T Queue<T>::deQueue() {

	T obj = NULL;

	if (numElements == 0) return obj;

	obj = queue[tail];

	tail++;
	numElements--;

	if (tail >= size) tail = 0;

	return obj;

}


template <typename T>
bool Queue<T>::enQueue(T in) {

	if (numElements == size) return false;

	queue[head] = in;

	head++;
	numElements++;
	if (head == size) head = 0;

	return true;

}

To replicate the error just just to make an instance of the queue with any data type:

Queue <int> data(10);

that is enough to get the error

Did you really name your .cpp file with the extension .ccp ?

You did not post your code so that leaves me guessing and I HATE guessing games. Did you remember to properly use an #include ?

Where did you put queueData.h? Also, I don't see an *.ino file with setup() and loop().

think you need to explicitly instantiate the Queue you require
try adding at the end of file queueData.cpp

template class Queue <int>;

Also, see Storing C++ template function definitions in a .CPP file