gpt4 book ai didi

c++ - 为什么我的 C++ 类定义失败?

转载 作者:太空狗 更新时间:2023-10-29 23:31:00 25 4
gpt4 key购买 nike

主要.cpp

#include <iostream>
#include "Burrito.h"

using namespace std;

int main(){
Burrito b;
return 0;
}

卷饼.h

#ifndef BURRITO_H
#define BURRITO_H

class Burrito{
public:
Burrito();
};

#endif

卷饼.cpp

#include "Burrito.h"
#include <iostream>

Burrito::Burrito(){

}

编译&链接:

lzsb$ g++ main.cpp -o main
Undefined symbols for architecture x86_64:
"Burrito::Burrito()", referenced from:
_main in ccVpCr0z.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
lzsb$

平台:

Mac OS 10.6.8

G++ : i686-apple-darwin10 --with-gxx-include-dir=/usr/include/c++/4.2.1

最佳答案

您还需要编译 Burrito.cpp 文件。编译器从每个 .cpp 文件创建目标文件,然后链接它们。这是您的调用失败的地方,因为链接器无法在您的任何目标文件中找到引用的 Burrito 类。要修复编译器调用,只需添加 Burrito.cpp

g++ main.cpp Burrito.cpp -o main

关于c++ - 为什么我的 C++ 类定义失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10992827/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com