编辑#1:请使用此代码示例找到解决方案,作为此初始帖子的答案。请尝试在What is an undefined reference/unresolved external symbol error and how do I fix it?中找到可能的解决方案,它对我没有帮助,但也许适合您。
我尝试构建一个由每两个头文件和应用程序文件组成的项目。如果我编译每个文件,则不会发生任何错误。如果我构建项目,则会遇到以下错误。
(\d+) (\d+)
该项目包含以下文件:
未定义的函数在B13-03_MAIN。 h 中声明,并在B13-03_MAIN。 c 中定义。两个应用程序文件都使用B13-03_MAIN。 h 作为原型。
非常感谢您的帮助。
答案 0 :(得分:0)
该问题涉及未定义函数的错误嵌套。我专注于B13-03_MAIN。 h 和B13-03_MAIN。 c 。
/* B13-03_MAIN.h */
create_article();
show_article();
edit_article();
delete_article();
包含问题的实施
/* B13-03_MAIN.c */
#include <stdio.h>
#include "B13-03_MAIN.h"
#include "B13-03_H1.h"
void main(void) {
switch(option) {
case abc_c: create_article(); break;
case abc_s: show_article(); break;
case abc_e: edit_article(); break;
case abc_d: delete_article(); break;
default: printf("Undefined option.");
}
void create_article(void) {
...
}
void show_article(void) {
...
}
void edit_article(void) {
...
}
void delete_article(void) {
...
}
} /* This curly braces is incorrectly nested */
无问题的实现:
void main(void) {
switch(option) {
case abc_c: create_article(); break;
case abc_s: show_article(); break;
case abc_e: edit_article(); break;
case abc_d: delete_article(); break;
default: printf("Undefined option.");
}
} /*Incorrectly nested curly brace should be implemented here */
void create_article(void) {
...
}
void show_article(void) {
...
}
void edit_article(void) {
...
}
void delete_article(void) {
...
}