Ir ao conteúdo
  • Cadastre-se

erro de compilação


David Fune

Posts recomendados

Boa noite galera!!!!

estou desenvolvendo um código e no começo ele compila normal, só que depois surgi um erro.

 

||=== Build: Debug in listaDupla (compiler: GNU GCC Compiler) ===|
ld.exe||cannot open output file bin\Debug\listaDupla.exe Invalid argument|
||error: ld returned 1 exit status|
||=== Build failed: 2 error(s), 0 warning(s) (0 minute(s), 1 second(s)) ===|

 

Não consegui resolver, algu´m pode me ajudar????
 

 

adicionado 0 minutos depois

estou usando o codeblocks programando em c

 

Link para o comentário
Compartilhar em outros sites

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

typedef struct no {
    int info;
    struct no* ant;
    struct no* prox;
}No;

No* criar(void) {
    return NULL;
}

No* inserir_inicio(No* l, int v) {
    No* novo = (No*) malloc(sizeof(No));
    novo->info = v;
    novo->prox = l;
    novo->ant = NULL;
    if (l != NULL)
       l->ant = novo;
    return novo;
}

int vazia(No* l) {
    return (l == NULL);
}

No* buscar(No* l, int v) {
    No* p;
    for(p = l; p != NULL; p = p->prox) {
        if (p->info == v)
           return p;
    }
    return NULL;
}

No* remover(No* l, int v) {
    No* p;
    for(p = l; p != NULL; p = p->prox) {
        if (p->info == v)
           break;
    }
    if (p == NULL)
       return l;
    if (l == p)
       l = p->prox;
    else
        p->ant->prox = p->prox;

    if (p->prox != NULL)
       p->prox->ant = p->ant;

    free(p);
    return l;
}

void imprimir(No* l) {
    No* p;
    for(p = l; p != NULL; p = p->prox)
        printf("info = %d\n", p->info);
}

void liberar(No* l) {
    No* p = l;
    while (p != NULL) {
        No* t = p->prox;
        free(p);
        p = t;
    }
}


void imprime_invertido(No* l)
{
    No *p=l;
    while(p!=NULL)
    {
        p=p->prox;
    }
    while(p->ant!=NULL)
    {
        printf("[%d]<->",p->info);
        p=p->ant;
    }
}

No* rem_par(No* l)
{
    No* p;
    for(p=l;p!=NULL;p=p->prox)
    {
        if(p->info%2==0)
        {

            if(p==l)
            {
              l=p->prox;
            }
            else
        p->ant->prox = p->prox;

    if (p->prox != NULL)
       p->prox->ant = p->ant;

    free(p);
        }
    }
    return l;
}

No* rem_menores(No* l)
{
       No* p;
    for(p=l;p!=NULL;p=p->prox)
    {
        if(p->info<10)
        {

            if(p==l)
            {
              l=p->prox;
            }
            else
        p->ant->prox = p->prox;

    if (p->prox != NULL)
       p->prox->ant = p->ant;

    free(p);
        }
    }
    return l;

}

No* constroi(int n, int* v)
{
    int i;
    No* p=NULL;

    for(i=0;i<n;i++)
    {
        printf("entrou for\n");
        No* novo=(No*)malloc(sizeof(No));
        novo->info=v;
        novo->prox=p;
        novo->ant=NULL;
        if(p!=NULL)
            p->ant=novo;
            return novo;
    }
    return p;
}

int main()
{
    No* lista=criar();
    int vet[]={1,2,3,4,5};

    lista=constroi(5,vet);
    imprimir(lista);
    printf("\n\n Lista invertida");
    imprime_invertido(lista);

    return 0;
}
 

adicionado 1 minuto depois

o código é esse creio que não seja erro nele, porque rodou uma vez, e depois apareceu esse erro que enviei, acredito que seja um erro de acesso do compilador ao bin, onde fica o executável.

 

adicionado 3 minutos depois

erro.JPG

Link para o comentário
Compartilhar em outros sites

rapaz... nos meus tempos de Codeblocks e Dev++ essas mizeras davam esse erro porque ele abria a versão 32bit as vezes mesmo sendo 64bits... tipo... se voce ta no windows voce pode habilitar o modo desenvolvedor e instalar o BASH ON WINDOWS... um emulador do terminal bash linux no windows, instala o GCC e compila/executa por linha de comando ou ainda voce só baixa o minGW pra poder compilar/executar via CMD ou POWERSHELL... ai quanto ao editor pode ser qualquer um, notepad++, vscode, atom, sublime e etc... enfim... tenta localizar a pasta do codeblocks e executa a versão 64bits como ADM e vê se rola

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!