C新手,文件包含有关问题,莫名异常
C新手,文件包含问题,莫名错误
开发环境 CodeBlocks
编译环境 GCC
我在CodeBlocks建了两个工程练手
第一个是一个插入排序
工程目录结构
所有语法正确,文件包含也正确,编译运行没有问题
第二个工程是查找问题
工程目录结构一样
在main.c文件里也包含了头文件
所有工程没有使用特殊库等,语法问题排除
问题:
第二个工程编译不通过
从错误来看,似乎是文件包含不成功
但是第一个工程却是成功的,没有什么特别的路径问题
当我把它们写在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,怎么会出现这个问题
即便我把自己写的头文件(使用的双引号引入的)写在第一行也如此
不解,求解答
------解决方案--------------------
你这儿头文件没问题,因为编译都通过了,只是链接时出问题了。估计是你有一个cpp文件没加入到工程中。
------解决方案--------------------
有函数只声明没实现。
------解决方案--------------------