Tôi đang viết mã C++ trên máy mac. Tại sao tôi gặp phải lỗi này khi biên dịch ?:lỗi liên kết biến tĩnh
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)
Không chắc chắn mã của tôi có sai hay tôi phải thêm cờ bổ sung vào Xcode. Cấu hình XCode hiện tại của tôi là cấu hình mặc định cho dự án 'thư viện tĩnh'.
Mã của tôi:
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;
}
Tôi gọi 'phương pháp' từ mã thử nghiệm, theo cách này: Phương thức 'Đăng nhập :: ("asd"):'
cảm ơn sự giúp đỡ của bạn.
Tôi không đồng ý rằng đây là một câu hỏi trùng lặp. Các câu hỏi khác tham chiếu là rất chung chung trong tự nhiên và sẽ không giúp tôi giải quyết vấn đề cụ thể mac của tôi. – Adam