日期:2014-05-16  浏览次数:20596 次

codeblocks8.02 for linux,程序可以编译通过,但是通过右键“查找fopen函数的声明”或“实现”,都是提示“没有找到:fopen”,为什么
codeblocks8.02 for linux,程序可以编译通过,但是通过右键“查找fopen函数的声明”或“实现”,都是提示“没有找到:fopen”,然而printf和fread函数的右键查找函数声明和实现的功能都没有问题,能顺利跳转头文件中去!为什么会这样?

我在项目-》构建选项-》搜索路径中都添加了嵌入式的交叉工具链的头文件包含路径以及GNU GCC Compiler的头文件包含路径,怎么会这样呢?

用过codeblocks支招,不过不是没其它的办法,最好别建议我升级到codeblocks10.05,我在WINDOWS上装的是codeblocks10.05,在LINUX下是在线通过ubuntu软件包让操作系统自动获取的,一般ubuntu操作系统软件包自动获取都会是网上的最新的稳定版本。

------解决方案--------------------
很奇怪,printf和fread可以,fopen不行,那又fopen的函数的程序可以跑通吧?估计是bug
------解决方案--------------------
每个IDE都或多或少有这些问题,eclipse更是了,它解析不出来的(比如用boost::bind就经常解析不出来),直接就报错,结果我的工程报了一堆错,编译却是完全通过(因为根本就没有错)。
------解决方案--------------------
codeblocks默认设置运行目录为自己的目录,不是可执行文件的目录

Project -> Properties -> Build Targets -> Excution Dir = bin/Debug

操作系统:Redhat.

问题: 使用Codeblocks工具进行调试,发现fopen函数打不开文件。目标文件和所编译文件在同一文件夹下。

 

解决:Codeblocks默认打开文件路径为所建工程文件夹,当编译文件和目标文件不在工程文件夹下时,当然打不开。(将文件拷贝到工程文件目录下,当然应该也可以修改Codeblocks参数吧?不清楚,没试。)