C编译:collect2:错误:ld返回1退出状态

约翰尼

我试图在线搜索该错误,但所有文章均针对C ++。

这是消息:

test1.o: In function `ReadDictionary':
/home/johnny/Desktop/haggai/test1.c:13: undefined reference to `CreateDictionary'
collect2: error: ld returned 1 exit status
make: *** [test1] Error 1

超级简单的代码,无法理解问题所在

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "dict.h"
#include "hash.h"


pHash ReadDictionary() {
    /* This function reads a dictionary line by line from the standard input. */
    pHash dictionary;
    char entryLine[100] = "";
    char *word, *translation;

    dictionary = CreateDictionary();
    while (scanf("%s", entryLine) == 1) { // Not EOF
        word = strtok(entryLine, "=");
        translation = strtok(NULL, "=");
        AddTranslation(dictionary, word, translation);
    }
    return dictionary;
}

int main() {
    pHash dicti;
...

现在这是标题dict.h

#ifndef _DICT_H_
#define _DICT_H_

#include "hash.h"

pHash CreateDictionary();
...

#endif

这是dict.c

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "hash.h"
#include "dict.h"


pHash CreateDectionary()
{
    pHash newDict;
    newDict= HashCreate(650, HashWord, PrintEntry, CompareWords, GetEntryKey, DestroyEntry);
    return newDict;
}

如果你想检查hash.h

#ifndef _HASH_H_
#define _HASH_H_

//type defintions//
typedef enum {FAIL = 0, SUCCESS} Result;
typedef enum {SAME = 0, DIFFERENT} CompResult;

typedef struct _Hash Hash, *pHash;

typedef void* pElement;
typedef void* pKey;

//function types//
typedef int (*HashFunc) (pKey key, int size);
typedef Result (*PrintFunc) (pElement element);
typedef CompResult (*CompareFunc) (pKey key1, pKey key2);
typedef pKey (*GetKeyFunc) (pElement element);
typedef void (*DestroyFunc)(pElement element);
...

//interface functions//

#endif

如果我在这里给您文件,可能会更容易些?

无论如何,我很乐意提供有关如何理解问题的提示

SVN

你的问题是在函数创建的错字Ë ctionary()。你应该改变它创造了ctionary()。collect2:错误:ld返回1退出状态在C和C ++中都是相同的问题,通常意味着您有未解析的符号。您的情况就是我之前提到的错字。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

collect2:错误:ld返回1退出状态,gcc

来自分类Dev

获取“ collect2:错误:ld返回1退出状态”

来自分类Dev

collect2:错误:ld返回1退出状态

来自分类Dev

collect2:错误:ld返回1退出状态,gcc

来自分类Dev

collect2:错误:ld返回1退出状态

来自分类Dev

编译cpp代码时出错:collect2:错误:ld返回1退出状态

来自分类Dev

collect2:错误:ld在c ++中返回了1个退出状态

来自分类Dev

从Cygwin编译vim(Versin> = 7.4.399)时显示错误“ collect2:错误:ld返回1退出状态”

来自分类Dev

为Android编译librtmp错误:找不到-ldl collect2:错误:ld返回1退出状态

来自分类Dev

为Android编译librtmp错误:找不到-ldl collect2:错误:ld返回1退出状态

来自分类Dev

从Cygwin编译vim(Versin> = 7.4.399)时显示错误“ collect2:错误:ld返回1退出状态”

来自分类Dev

错误collect2:ld返回退出状态

来自分类Dev

多定义错误(collect2:错误:ld返回1退出状态)

来自分类Dev

CMake链接错误(collect2:ld返回了1个退出状态)

来自分类Dev

collect2:错误:ld返回1退出状态未定义的引用

来自分类Dev

CMake链接错误(collect2:ld返回了1个退出状态)

来自分类Dev

安装 libmtp 时:“collect2:错误:ld 返回 1 个退出状态”。如何调试/修复?

来自分类Dev

与dylib ld的静态链接:找不到-lcrt0.o的库collect2:错误:ld返回1退出状态

来自分类Dev

Opencv,DSO从命令行collect2中丢失:错误:ld返回1退出状态

来自分类Dev

最终链接失败:输出collect2上的不可代表部分:错误:ld返回1退出状态

来自分类Dev

java对`main'collect2的未定义引用:ld返回1退出状态

来自分类Dev

使用SSL RedHat构建MongoDB失败:collect2:ld返回1退出状态

来自分类Dev

linux程序集“ collect2:ld返回1退出状态”

来自分类Dev

java对`main'collect2的未定义引用:ld返回1退出状态

来自分类Dev

使用SSL RedHat构建MongoDB失败:collect2:ld返回1退出状态

来自分类Dev

ld返回1错误退出状态C ++

来自分类Dev

Python.h编译错误:collect2.exe id返回1退出状态

来自分类Dev

未定义的引用和collect2:错误:ld返回1

来自分类Dev

错误:ld在C处返回了1个退出状态

Related 相关文章

  1. 1

    collect2:错误:ld返回1退出状态,gcc

  2. 2

    获取“ collect2:错误:ld返回1退出状态”

  3. 3

    collect2:错误:ld返回1退出状态

  4. 4

    collect2:错误:ld返回1退出状态,gcc

  5. 5

    collect2:错误:ld返回1退出状态

  6. 6

    编译cpp代码时出错:collect2:错误:ld返回1退出状态

  7. 7

    collect2:错误:ld在c ++中返回了1个退出状态

  8. 8

    从Cygwin编译vim(Versin> = 7.4.399)时显示错误“ collect2:错误:ld返回1退出状态”

  9. 9

    为Android编译librtmp错误:找不到-ldl collect2:错误:ld返回1退出状态

  10. 10

    为Android编译librtmp错误:找不到-ldl collect2:错误:ld返回1退出状态

  11. 11

    从Cygwin编译vim(Versin> = 7.4.399)时显示错误“ collect2:错误:ld返回1退出状态”

  12. 12

    错误collect2:ld返回退出状态

  13. 13

    多定义错误(collect2:错误:ld返回1退出状态)

  14. 14

    CMake链接错误(collect2:ld返回了1个退出状态)

  15. 15

    collect2:错误:ld返回1退出状态未定义的引用

  16. 16

    CMake链接错误(collect2:ld返回了1个退出状态)

  17. 17

    安装 libmtp 时:“collect2:错误:ld 返回 1 个退出状态”。如何调试/修复?

  18. 18

    与dylib ld的静态链接:找不到-lcrt0.o的库collect2:错误:ld返回1退出状态

  19. 19

    Opencv,DSO从命令行collect2中丢失:错误:ld返回1退出状态

  20. 20

    最终链接失败:输出collect2上的不可代表部分:错误:ld返回1退出状态

  21. 21

    java对`main'collect2的未定义引用:ld返回1退出状态

  22. 22

    使用SSL RedHat构建MongoDB失败:collect2:ld返回1退出状态

  23. 23

    linux程序集“ collect2:ld返回1退出状态”

  24. 24

    java对`main'collect2的未定义引用:ld返回1退出状态

  25. 25

    使用SSL RedHat构建MongoDB失败:collect2:ld返回1退出状态

  26. 26

    ld返回1错误退出状态C ++

  27. 27

    Python.h编译错误:collect2.exe id返回1退出状态

  28. 28

    未定义的引用和collect2:错误:ld返回1

  29. 29

    错误:ld在C处返回了1个退出状态

热门标签

归档