C新手,文件包含有关问题,莫名异常

C新手,文件包含问题,莫名错误
开发环境 CodeBlocks
编译环境 GCC

我在CodeBlocks建了两个工程练手
第一个是一个插入排序
工程目录结构

InsertSort---|
      ------Sources
            -------insertsort.c
            -------main.c
      ------Headers  
            ----insertsort.h


所有语法正确,文件包含也正确,编译运行没有问题

第二个工程是查找问题
工程目录结构一样
在main.c文件里也包含了头文件
所有工程没有使用特殊库等,语法问题排除

问题:
第二个工程编译不通过
||=== Build: Debug in SeartNumber (compiler: GNU GCC Compiler) ===|
obj\Debug\main.o||In function `main':|
I:\codeblocksworkspace\SeartNumber\main.c|11|undefined reference to `show_welcome'|
I:\codeblocksworkspace\SeartNumber\main.c|19|undefined reference to `lineSearch'|
I:\codeblocksworkspace\SeartNumber\main.c|22|undefined reference to `binarySearch'|
I:\codeblocksworkspace\SeartNumber\main.c|29|undefined reference to `show_welcome'|
||=== Build failed: 4 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|


从错误来看,似乎是文件包含不成功
但是第一个工程却是成功的,没有什么特别的路径问题
当我把它们写在main.c文件的时候就不报错了,更加证明了是文件包含的问题
我就搞不懂了,同样的写法和工程目录结构,只是功能不一样而已,为啥第一个可以通过,第二个通不过
google之,大多人都说是lib顺序问题,但我都没用什么特殊的lib,怎么会出现这个问题
即便我把自己写的头文件(使用的双引号引入的)写在第一行也如此
不解,求解答

------解决方案--------------------
你这儿头文件没问题,因为编译都通过了,只是链接时出问题了。估计是你有一个cpp文件没加入到工程中。
------解决方案--------------------
引用:
开发环境 CodeBlocks
编译环境 GCC

我在CodeBlocks建了两个工程练手
第一个是一个插入排序
工程目录结构

InsertSort---
------解决方案--------------------

      ------Sources
            -------insertsort.c
            -------main.c
      ------Headers  
            ----insertsort.h


所有语法正确,文件包含也正确,编译运行没有问题

第二个工程是查找问题
工程目录结构一样
在main.c文件里也包含了头文件
所有工程没有使用特殊库等,语法问题排除

问题:
第二个工程编译不通过

------解决方案--------------------
=== Build: Debug in SeartNumber (compiler: GNU GCC Compiler) ===
------解决方案--------------------

obj\Debug\main.o
------解决方案--------------------
In function `main':
------解决方案--------------------

I:\codeblocksworkspace\SeartNumber\main.c
------解决方案--------------------
11
------解决方案--------------------
undefined reference to `show_welcome'
------解决方案--------------------

I:\codeblocksworkspace\SeartNumber\main.c
------解决方案--------------------
19
------解决方案--------------------
undefined reference to `lineSearch'
------解决方案--------------------

I:\codeblocksworkspace\SeartNumber\main.c
------解决方案--------------------
22
------解决方案--------------------
undefined reference to `binarySearch'
------解决方案--------------------

I:\codeblocksworkspace\SeartNumber\main.c
------解决方案--------------------
29
------解决方案--------------------
undefined reference to `show_welcome'
------解决方案--------------------


------解决方案--------------------
=== Build failed: 4 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===
------解决方案--------------------



从错误来看,似乎是文件包含不成功
但是第一个工程却是成功的,没有什么特别的路径问题
当我把它们写在main.c文件的时候就不报错了,更加证明了是文件包含的问题
我就搞不懂了,同样的写法和工程目录结构,只是功能不一样而已,为啥第一个可以通过,第二个通不过
google之,大多人都说是lib顺序问题,但我都没用什么特殊的lib,怎么会出现这个问题
即便我把自己写的头文件(使用的双引号引入的)写在第一行也如此
不解,求解答

有函数只声明没实现。
------解决方案--------------------
引用:
Quote: 引用:

你这儿头文件没问题,因为编译都通过了,只是链接时出问题了。估计是你有一个cpp文件没加入到工程中。


引用:
Quote: 引用:

开发环境 CodeBlocks
编译环境 GCC

我在CodeBlocks建了两个工程练手
第一个是一个插入排序
工程目录结构

InsertSort---
------解决方案--------------------

      ------Sources
            -------insertsort.c
            -------main.c
      ------Headers  
            ----insertsort.h


所有语法正确,文件包含也正确,编译运行没有问题