C ++编译错误,需要帮助 - ld:找不到架构x86_64的符号

时间:2013-08-08 22:29:26

标签: c++ compiler-errors g++

我试图让它编译,但每次我去编译main.cpp我都会得到同样的错误:

Undefined symbols for architecture x86_64:
  "tlogic::tlogic()", referenced from:
      _main in ccAcayG4.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status

我尝试了一段时间调试它,但错误似乎仍然存在。任何帮助,将不胜感激。

这是main.cpp:

#include <iostream>
using namespace std;

#include "tlogic.h"

int main()
{
        tlogic test;

        exit(EXIT_SUCCESS);
}

tlogic.h:

#ifndef TLOGIC_H
#define TLOGIC_H

class tlogic {
public:
        tlogic();
        tlogic(bool);
        ~tlogic();
        void init();
        void get_command();

private:
        bool debug;
};

#endif

最后,tlogic.cpp:

#include <iostream>
using namespace std;

#include "tlogic.h"

tlogic::tlogic()
{
        cout << "Testing" << endl;
        debug = false;
}

tlogic::tlogic(bool debug_)
{
        cout << "Testing 2" << endl;
        debug = debug_;
}

tlogic::~tlogic()
{
}

void tlogic::game_init()
{
}

void tlogic::get_command()
{
}

感谢您的帮助。

编辑:修复了tlogic :: glogic等。

1 个答案:

答案 0 :(得分:1)

你需要:

g++ -o prog main.cpp tlogic.cpp

当您在一个步骤中进行编译和链接时,您需要确保将完整程序所需的所有源文件传递给编译器。