Получение кода ошибки: collect2.exe: error: ld вернул 1 состояние выхода - PullRequest
0 голосов
/ 09 марта 2019

При компиляции кода C следующим образом:

#include <stdio.h>          // Notice the library included in the header of this file
#include <stdlib.h>

#include "myLibrary.h"      // Notice that myLibrary.h uses different include syntax

#define MAX_LENGTH 21.8
#define WORK_WEEK  5

int main(void) {
    function1();
    return EXIT_SUCCESS;
}

Я получаю следующее:

d:/programs/mingw/bin/../lib/gcc/mingw32/8.2.0/../../../../mingw32/bin/ld.exe: C:\Users\svtte\AppData\Local\Temp\ccyHWfzC.o:02_01.c:(.text+0xc): undefined reference to `function1' 
collect2.exe: error: ld returned 1 exit status

Файл myLibrary.h выглядит следующим образом:

#ifndef MYLIBRARY_H_
#define MYLIBRARY_H_

void function1(void);
void function2(void);

#endif /* MYLIBRARY_H_ */

и myLibrary.c выглядит следующим образом:

void function1(void){
    puts("It works :)");
}

void function2(void){
    //This function does nothing as well
}

Любые причины, по которым я получаю ответ об ошибке, будут полезны. Кроме того, любые указатели на возможные исправления были бы великолепны.

1 Ответ

0 голосов
/ 09 марта 2019

Вероятность состоит в том, что вы не включаете 'myLibrary' при ссылке на сборку исполняемого файла.

...