未定义的建筑符号,尝试了i386和其他符号
Undefined symbols for architecture, tried i386 and other ,,,
只是想启动一些C 并创建以下简单类:
椭圆形。H
#ifndef __Ellipsoid__Ellipsoid__
#define __Ellipsoid__Ellipsoid__
#include <iostream>
#include <cassert>
class Ellipsoid {
private:
double axisA;
double flatteningF;
public:
Ellipsoid() {};
Ellipsoid(double aIn, double fIn);
double getAxisA();
double getFlatteningF();
};
#endif /* defined(__Ellipsoid__Ellipsoid__) */
eLLIPSOID.CPP
#include "Ellipsoid.h"
Ellipsoid::Ellipsoid (double aIn, double fIn) : axisA(aIn), flatteningF(fIn) {};
int main() {
std::cout << "bla";
Ellipsoid el = Ellipsoid(44.3, 32);
double test = el.getAxisA();
return 0;
}
您在这里看不到任何特别的东西。我在OSX10.8上使用Xcode。但是,当我运行该程序时,我会遇到此错误:架构X86_64的未定义符号: "椭圆形:: getaxisa()",从: _ eLipsoid.o中的曼LD:符号(s)架构x86_64找不到符号而且我真的不知道怎么了。试图将体系结构设置为32位,但这不起作用
缺少Ellipsoid::getAxisA()
函数的定义。您必须定义某个地方。现在,您只有声明,而不是定义。定义看起来像这样:
double Ellipsoid::getAxisA() { return axisA; }
将生活在eLlipsoid.cpp。
相关文章:
- 在C++中,将大的无符号浮点数四舍五入为整数的最佳方法是什么
- 有符号的int和int-有没有一种方法可以在C++中区分它们
- 将无符号char*转换为std::istream*C++
- 如何在C++中将一个无符号的 int 转换为两个无符号的短裤?
- vscode g++链路故障:体系结构x86_64的未定义符号
- 从矢量<无符号字符>转换为字符* 包括垃圾数据
- 如何理解将半精度指针转换为无符号长指针和相关的内存对齐
- Visual studio代码重构似乎不起作用(例如,重命名符号-f2)
- 使用gcc从静态链接的文件中查找可选符号
- C++中无符号字符溢出
- 使用无符号字符数组有效存储内存
- C++:Application.cpp中抛出了未解析的外部符号(解决方案在问题的末尾,供未来的读者参考)
- VC++本机单元测试,找不到调试符号
- GCC LD:构造I386找不到符号
- 未定义的建筑符号,尝试了i386和其他符号
- 找不到体系结构i386 cpp/mm文件的符号
- VS 2013缺少符号(msvcr120.i386.pdb)
- .mm转换导致架构i386错误的未定义符号
- 找不到体系结构i386的目标C和C++符号
- 架构i386的未定义符号: