Sto scrivendo codice C++ su un mac. Perché ottengo questo errore durante la compilazione ?:errore di collegamento variabile statico
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)
Non so se il mio codice è errato o devo aggiungere ulteriori flag a Xcode. Le mie attuali configurazioni XCode sono quelle predefinite per un progetto di 'biblioteca statica'.
Il mio codice:
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;
}
Sono chiamando il 'metodo' da un codice di prova, in questo modo: 'metodo Log :: ("asd"):'
grazie per il vostro aiuto.
Non sono d'accordo che questa è una domanda duplicato. L'altra domanda a cui si fa riferimento è di natura molto generale e non mi avrebbe aiutato a risolvere il mio problema specifico per Mac. – Adam