C 错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)

洛林桑托斯

我是 C 的新手,我已经搜索过但没有找到答案,但我一直在尝试让程序给我一个列表,其中包含用户输入的产品名称,然后是所有价格的总和,我发现了错误:

clang-7 -pthread -lm -o main main.c
/tmp/main-7440c0.o: In function `main':
main.c:(.text+0x12b): undefined reference to 'N'
main.c:(.text+0x164): undefined reference to 'Digitanome'
main.c:(.text+0x17f): undefined reference to 'Lista'
clang-7: error: linker command failed with exit code 1 (use -v to see invocation)
exit status 1

我一直在尝试的代码是这样的:

#include <stdio.h>
#include<stdlib.h>
#include <string.h>

extern char (N[][40]);
int i;
char p;
int cod,cont, soma2;
char soma[100];

int Digitanome( char [][40], int );
void Lista( char [100][40], int );

typedef struct {
char produto[30];
char seçao [30];
float preco;
int cargo;
}Supermercado;

Supermercado compra;

    
int main(void)
{
  char Nome[100][40] = { '\0' };
  int qtdNomes = 0;

  soma2 = 0;
  do{  
    printf("\n\nEm qual seção está seu produto?");
    printf("\n1-Frutas \n2-Doces \n3-Material de Limpeza\n -->  ");
    scanf("%d",&cod);
    if(cod == 1){
      *compra.seçao = *strcpy(compra.seçao,"Frutas");
    }
    if(cod == 2){
      *compra.seçao = *strcpy(compra.seçao, "Doces");
    }
    if(cod == 3){
      *compra.seçao = *strcpy(compra.seçao,"Material de Limpeza");
    }
    int Digitanome(char N[][40], int i);
    {
      printf("Informe o produto que você quer nesta seção: \n");
      scanf("%s", & *N[i]);

      *compra.produto = Digitanome( Nome, qtdNomes );
      Lista( Nome, qtdNomes );
      return ++i;
    }
    return 0; 

    printf("Informe o preço do produto: \n");
    scanf("%f", &compra.preco);
    soma2 = soma2 + compra.preco;
    printf("\nDeseja mais algum produto? \n4-Sim \n0-Não, sair \n -->  ");
    scanf("%d",&cont);
  }while(cont == 4);
  {
    if (cont == 0)
      printf("\nFIM DAS COMPRAS!\n");

    void Lista(char p[100][40], int i);{
      int j = 0;
      for (; j < i; j++ )
        printf("\nSeus produtos são:%s\n", compra.produto);
    }
    printf("Essa compra está custando: %i \n", soma2);
  }
}

谁能向我解释发生了什么以及如何解决它?

吉姆·罗德斯

几个问题:

  1. extern char (N[][40]);

您声明Nextern没有初始化,因此您还需要在另一个具有初始化的模块中将其删除。但是您实际上从未使用过变量N你有N[][40]一个论据Digitanome. 修复下面的项目编号 2 和 3 后,您可以extern char (N[][40]);完全删除

  1. 你定义DigitanomeLista里面main()您需要在main().

  2. DigitanomeLista函数定义的末尾有分号你需要删除那些。

  3. 您在return 0语句后面有代码

  4. Digitanome从里面打电话Digitanome那可能不是您想要的。

一旦你解决了这些问题,你可能会发现更多。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Apple Mach-O链接器(id)错误-链接器命令失败,退出代码为1(使用-v查看调用)C ++ SFML

clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)Xcode 10.2.1

Geofire(iOS)铛:错误:链接器命令失败,退出代码为1(使用-v查看调用)

Cocoapods错误:链接器命令失败,退出代码为1(使用-v查看调用)

错误:链接器命令失败,退出代码为1(使用-v查看调用)

错误链接器命令失败,退出代码为1(使用-v查看调用)

错误:链接器命令失败,退出代码为1(使用-v查看调用)

叮当:错误:链接器命令失败,项目中的退出代码为1(使用-v查看调用)

链接器命令失败,退出代码为 1(使用 -v 查看调用)iOS 错误

RealmJS:clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)

获取错误clang:错误:从终端编译C ++文件时,链接器命令失败,退出代码为1(使用-v查看调用)

C++ XCODE ld:找不到架构 x86_64 clang 的符号:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)

ionic应用程序构建失败,并显示错误“链接器命令失败,退出代码为1(使用-v查看调用)”

错误“ _OBJC_CLASS _ $ _ AppDelegate”,引用自“”,错误:链接器命令失败,退出代码为1(使用-v查看调用)

如何解决“铛:错误:链接器命令失败,退出代码为1(使用-v查看调用)”错误?

Xcode 中的错误“/clang:-1: 链接器命令失败,退出代码为 1(使用 -v 查看调用)”

(空):使用admob时,链接器命令失败,退出代码为1(使用-v查看调用)

ld:找不到用于-lFirebaseCore的库;错误:链接器命令失败,退出代码为1(使用-v查看调用)

显示最近的问题 clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)?

clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)控制台应用程序

clang:错误:链接器命令失败,退出代码为1(使用-v查看调用),且符号重复

在以下位置修复错误重复符号_response:....:链接器命令失败,退出代码为1(使用-v查看调用)

QT Q_PROPERTY 错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)

链接器命令失败,退出代码为1(使用-v查看调用)-Xcode

链接器命令失败,退出代码为1(使用-v查看调用),Xcode 8,Swift 3

Swift 3的链接器命令失败,退出代码为1(使用-v查看调用)

链接器命令在Swift中退出代码为1(使用-v查看调用)失败

链接器命令失败,退出代码为1(使用-v查看调用)VisualStudio

Xcode 9.2:链接器命令失败,退出代码为1(使用-v查看调用)