Mac OS x为架构x86_64找不到ld:符号

时间:2013-03-05 15:06:02

标签: c++ macos 64-bit

我正在尝试编译一个在Xcode中工作正常但在终端中出错的c ++程序。

的main.cpp

int main(int argc, const char * argv[])
{
    Example* example =new Example();
    example->show();
}

example.h文件

class Example {
public:

    void show();
};

example.cpp

void Example::show() {

    std::cout<<"Hello World"<<std::endl;
}

我得错误

 "Example::show()", referenced from:
      _main in cckpIa3V.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status

我正在使用g ++进行编译

g++ -o test main.cpp 

1 个答案:

答案 0 :(得分:2)

您未在example.o中进行关联。您没有显示命令行/ Makefile,因此这是(大致)您需要键入的内容:

$ g++ -o example main.cpp example.cpp

这将编译源文件并将其链接到名为example的可执行文件。