Avatar ·

Erro "undefined reference/unresolved external symbol" em C++: causas e correção

Olá a todos! Sou novo em C++ e estou há várias horas lutando contra um erro que não consigo entender. O compilador mostra algo como: ``` undefined reference to `MyClass::myFunction()' ``` ou ``` unresolved external symbol "public: void __thiscall MyClass::myFunction(void)" (?myFunction@MyClass@@QAEXXZ) referenced in function _main ``` Aqui está meu código. Tenho três arquivos: **main.cpp:** ```cpp #include "myclass.h" int main() { MyClass obj; obj.myFunction(); return 0; } ``` **myclass.h:** ```cpp #ifndef MYCLASS_H #define MYCLASS_H class MyClass { public: void myFunction(); }; #endif ``` **myclass.cpp:** ```cpp #include "myclass.h" #include void MyClass::myFunction() { std::cout << "Hello from myFunction!" << std::endl; } ``` Estou compilando no Visual Studio ou via g++ com um único comando: `g++ main.cpp -o program`. Tudo falha com esse erro. Verifiquei que os arquivos estão na mesma pasta, o arquivo de cabeçalho está incluído corretamente,