Мой код хранится в файле main.cpp
, который содержит функцию void main()
и класс MyClass
, который я сейчас хочу разделить на другой файл. IDE - это Microsoft Visual Studio 2008 Professional.
myclass.h
#include <tchar.h>
class MyClass {
public:
static bool MyFunction (TCHAR* someStringArgument);
};
myclass.cpp
#include <tchar.h>
class MyClass {
private:
static bool someProperty;
static void doSomeOneTimeCode () {
if (!someProperty) {
/* do something */
someProperty = true;
}
}
public:
static bool MyFunction (TCHAR* someStringArgument) {
doSomeOneTimeCode();
/* do something */
return true;
}
};
bool MyClass::someProperty = false;
main.cpp
#include <windows.h>
#include <stdio.h>
#include <tchar.h>
#include "myclass.h"
void main () {
if (MyClass::MyFunction(TEXT("myString"))) {
_tprintf(TEXT("Yay\n"));
}
}
Однако, когда я пытаюсь запустить его, я получаю две ошибки компоновщика.
- LNK2019: неразрешенный внешний символ ... (упоминается
MyClass::MyFunction
)
- LNK1120: 1 неразрешенное внешнее
Что можно сделать, чтобы предотвратить эти ошибки компоновщика?