Piszę kod C++ na komputerze Mac. Dlaczego otrzymuję ten błąd podczas kompilacji ?:Błąd łącza statycznego
Undefined symbols for architecture i386: "Log::theString", referenced from: Log::method(std::string) in libTest.a(Log.o) ld: symbol(s) not found for architecture i386 clang: error: linker command failed with exit code 1 (use -v to see invocation)
nie wiem, czy mój kod jest nieprawidłowy lub muszę dodać dodatkowe flagi do Xcode. Moje bieżące konfiguracje XCode są domyślnymi dla projektu "biblioteki statycznej".
Mój kod:
Log.h ------------
#include <iostream>
#include <string>
using namespace std;
class Log{
public:
static void method(string arg);
private:
static string theString ;
};
Log.cpp ----
#include "Log.h"
#include <ostream>
void Log::method(string arg){
theString = "hola";
cout << theString << endl;
}
jestem wywołanie "metody" z kodu testowego, w ten sposób: 'Log :: method ("asd"):'
dzięki za pomoc.
cpp
nie zgadzam się, że jest to duplikat pytanie. Inne pytanie, o którym mowa, ma charakter bardzo ogólny i nie pomogłoby mi rozwiązać mojego konkretnego problemu z Mac. – Adam