【发布时间】:2011-08-14 15:59:45
【问题描述】:
我最近搬到了 mac,并且正在努力使用命令行编译器。我正在使用 g++ 进行编译,这可以很好地构建一个源文件。如果我尝试添加自定义头文件,当我尝试使用 g++ 进行编译时,我会得到体系结构 i386 的未定义符号。然而,这些程序在 xCode 中编译得很好。我错过了什么明显的东西吗?
尝试使用 g++ -m32 main.cpp...不知道还能尝试什么。
好的,旧代码已编译...已将范围缩小到我的构造函数。
class Matrix{
public:
int a;
int deter;
Matrix();
int det();
};
#include "matrix.h"
Matrix::Matrix(){
a = 0;
deter = 0;
}
int Matrix::det(){
return 0;
}
我的错误是 架构 x86_64 的未定义符号: “Matrix::Matrix()”,引用自: _main 在 ccBWK2wB.o ld:未找到架构 x86_64 的符号 collect2: ld 返回 1 个退出状态
我的主要代码有
#include "matrix.h"
int main(){
Matrix m;
return 0;
}
和往常一样
【问题讨论】:
-
考虑编辑您的问题以包含您的代码、头文件和命令行调用。
-
当然还有相应的输出;)
-
明确一点,您要为哪种架构构建?是 x86_64 吗?
标签: c++ macos linker g++ terminal