OK, I see where you're going with this in your example, so I change the header and .cpp file and then made a quick sketch:
library.h:
#ifndef Library_h
#define Library_h
class Library {
public:
enum options {
OPTION1, OPTION2, OPTION3
};
Library(unsigned long time, char color, options option);
private:
unsigned long timeValue = 0;
char mainColor;
options userOption;
};
#endif
library.cpp:
#include "library.h"
Library::Library(unsigned long time, char color, options option) {
timeValue = time;
mainColor = color;
userOption = option;
}
Sketch:
#include <library.h>
Library go(100,4,Library::OPTION2);
void setup() {
}
void loop() {
}
I didn't see in the example you made, where there was any definition for Library::OPTION1
And when I try to compile the sketch, this is what happens:
/var/folders/vb/rq_5f8jj11v06z8yq8pg3hdh0000gn/T//ccFt5nhS.ltrans0.ltrans.o: In function `__static_initialization_and_destruction_0':
/Users/michael/Arduino/test/test.ino:3: undefined reference to `Library::Library(unsigned long, char, Library::options)'
collect2: error: ld returned 1 exit status
exit status 1
Error compiling for board Arduino Nano.