gpt4 book ai didi

c++ - 下面的C代码有什么问题!

转载 作者:太空宇宙 更新时间:2023-11-03 10:20:38 24 4
gpt4 key购买 nike

我在 C 和 C++ 中尝试了以下代码。file1 是一个 c 文件。file2 是一个 c++ 文件,file3 是一个名称 magling 的头文件。

file1.c

#include<stdio.h>
#include<stdlib.h>
#include "file3.hpp"

int main(int argc,char **argv)
{
int a[5];
int i;
for(i=0;i<5;i++)
a[i] = i;
printf("%d",a[17]);
return 0;
}

file2.cpp

#include "file3.hpp"

int printtrial(int number)
{
return number;
}

file3.hpp

#ifdef __cplusplus
extern "C"
{
#endif

extern int printtrial(int number);

#ifdef __cplusplus
}
#endif

我使用以下命令编译它:

gcc -c file1.c
g++ -c file2.cpp
gcc -o output file1.o file2.o

在此它给出了错误:

file2.o:(.eh_frame+0x12): undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status

谁能告诉我这是怎么回事!

最佳答案

由于您的一个文件被编译为 c++,因此使用 g++ 进行链接阶段。

参见:What is __gxx_personality_v0 for?

关于c++ - 下面的C代码有什么问题!,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6787302/

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