У меня здесь странная проблема. У меня есть весь проект VS2012, который работает правильно. Но когда я попробовал простую задачу добавления метода к одному из моих классов, он не будет связывать правильно, я получаюVisual Studio 2012 Ошибка связи
error LNK2019: unresolved external symbol "public: void __thiscall Camera::calcularDirecao(class GLFWwindow *)" ([email protected]@@[email protected]@@Z)
Вот мой класс камеры:
class Camera {
public:
Camera() { ... inline constructor ... }
~Camera() {}
... other methods (which link fine) ...
void calcularDirecao(GLFWwindow *);
};
И в моем файл реализации у меня есть
void Camera::calcularDirecao(GLFWwindow *janela) {
... code ...
}
... other methods ...
Я уже пробовал перестраивать и все, без успеха. Заранее спасибо.
Просто (глупое) предложение: В ситуациях, подобных этому, когда компилятор/компоновщик, кажется, игнорирует мой код, я пытаюсь добавить в свой код некоторую * ерунду *, чтобы узнать, не получается ли я получить компиляцию или нет! Например, вы можете просто положить 'lkdhgre' в тело вашего метода' calcularDirecao' и посмотреть, жалуется ли компилятор. Если это не так, это означает, что по какой-либо причине он не видит тело метода (неправильный файл, макросы препроцессора и т. Д.) – yzt
@yzt Да, я получаю ошибку компиляции при добавлении мусора в метод –
OK, d попробуйте изменить имя метода, добавив другие методы (с реализациями в файле CPP), чтобы увидеть, будут ли они иметь одну и ту же проблему, перемещая реализацию проблемного метода inline, перемещая его в другой файл CPP и т. д. (конечно это все шаги в диагностике, а не решения.) – yzt