Gần đây tôi đã chuyển sang một mac và đang gặp khó khăn khi sử dụng trình biên dịch dòng lệnh. Tôi đang sử dụng g + + để biên dịch, và điều này xây dựng một tập tin nguồn duy nhất tốt. nếu tôi cố gắng thêm một tập tin tiêu đề tùy chỉnh, khi tôi cố gắng biên dịch bằng cách sử dụng g ++ tôi nhận được các ký hiệu không xác định cho kiến trúc i386. Tuy nhiên, các chương trình biên dịch tốt trong xCode. Tôi có thiếu một cái gì đó hiển nhiên?Ký hiệu không xác định cho kiến trúc i386:
đã thử sử dụng g ++ -m32 main.cpp ... không biết nên thử gì khác.
Được rồi, Mã cũ đã biên dịch ... Đã thu hẹp nó xuống nhà thầu của tôi.
class Matrix{
public:
int a;
int deter;
Matrix();
int det();
};
#include "matrix.h"
Matrix::Matrix(){
a = 0;
deter = 0;
}
int Matrix::det(){
return 0;
}
lỗi của tôi là ký Không xác định cho kiến trúc x86_64: "Matrix :: Matrix()", tham chiếu từ: _main trong ccBWK2wB.o ld: biểu tượng (s) không tìm thấy cho kiến trúc x86_64 collect2 : ld trở về 1 exit status
mã chính của tôi có
#include "matrix.h"
int main(){
Matrix m;
return 0;
}
cùng với thông thường
Hãy xem xét chỉnh sửa câu hỏi của bạn để bao gồm mã của bạn, tập tin tiêu đề, và lời gọi dòng lệnh. –
và tất nhiên, đầu ra tương ứng;) – geekazoid
Chỉ cần rõ ràng, bạn đang cố xây dựng kiến trúc nào? Có phải là x86_64 không? – Troubadour