本人在用controlsuit中的HVSCI_socerless例程来开发产品,现在遇到一个IQmathLib.H使用的怪现象:出现在一个C文件中无法包含的问题。描述如下:
我新建一个C文件,需要调用电机控制头文件中的结构体,而这些结构体内变量是_iq 格式的。现在当我把建有这些结构体的头文件的头文件从main.c中复制到这个新建的C文件中时,编译出现_iq格式不可用,我将IQmathLib.h头文件从main.c也复制过来,还是_iq格式不可用。
这时原来main.c中同样有这样的二条语句.这时我复制的地方。
奇怪的现象是:当我在新建的C文件删除这二句后,出现建有结构体的头文件无法使用
yanzhen fu:
补充:也就是说,现在无法复原了。IQMATH。H不再被原来main.c中的头文件所包含:
如下所示:
main,c中的IQmath.h和HVACI_Sensorless.h:
新建的modbus.c中的头文件:
也就是说这二个头文件不能同时出现在二个 文件中,而且一但出错,删掉后来建的,故障无法解决,也就无法复原。本来在main,c中的二个头文件没有问题,现在反而出现了问题,而且这种问题不会因为删掉新建c文件中而复原,我不知为什么?
另外产生问题的只是HVACI_Sensorless.h中包含的电机控制结构体的头文件。
我想可能是CCS5的问题,重装的CCS5,还是不能解决,
我重新从原来好的工程做同样的步骤还是出现这样的问题。
不知为何?
本人在用controlsuit中的HVSCI_socerless例程来开发产品,现在遇到一个IQmathLib.H使用的怪现象:出现在一个C文件中无法包含的问题。描述如下:
我新建一个C文件,需要调用电机控制头文件中的结构体,而这些结构体内变量是_iq 格式的。现在当我把建有这些结构体的头文件的头文件从main.c中复制到这个新建的C文件中时,编译出现_iq格式不可用,我将IQmathLib.h头文件从main.c也复制过来,还是_iq格式不可用。
这时原来main.c中同样有这样的二条语句.这时我复制的地方。
奇怪的现象是:当我在新建的C文件删除这二句后,出现建有结构体的头文件无法使用
Jones Chen:
回复 yanzhen fu:
IQmath_Lib 已经包含在工程中了么? 不是.h文件,是库的源文件
本人在用controlsuit中的HVSCI_socerless例程来开发产品,现在遇到一个IQmathLib.H使用的怪现象:出现在一个C文件中无法包含的问题。描述如下:
我新建一个C文件,需要调用电机控制头文件中的结构体,而这些结构体内变量是_iq 格式的。现在当我把建有这些结构体的头文件的头文件从main.c中复制到这个新建的C文件中时,编译出现_iq格式不可用,我将IQmathLib.h头文件从main.c也复制过来,还是_iq格式不可用。
这时原来main.c中同样有这样的二条语句.这时我复制的地方。
奇怪的现象是:当我在新建的C文件删除这二句后,出现建有结构体的头文件无法使用
yanzhen fu:
回复 Jones Chen:
是的,己经包含了,
现在这个问题我是这样解决的,在一个没有问题的工程中,重新建modbus.c,分别加入电机控制头文件,而不是加入HVACI_Sensorless.h,把这个总包含内的各个头文件分别加入后,再加入IQmath.h就没有问题了,
说明头文件在多重包含方式方面不能随意包含。
但是CCS5在头文件包含出错后没办法恢复,这点有点不可思义!
感谢joson chen!
本人在用controlsuit中的HVSCI_socerless例程来开发产品,现在遇到一个IQmathLib.H使用的怪现象:出现在一个C文件中无法包含的问题。描述如下:
我新建一个C文件,需要调用电机控制头文件中的结构体,而这些结构体内变量是_iq 格式的。现在当我把建有这些结构体的头文件的头文件从main.c中复制到这个新建的C文件中时,编译出现_iq格式不可用,我将IQmathLib.h头文件从main.c也复制过来,还是_iq格式不可用。
这时原来main.c中同样有这样的二条语句.这时我复制的地方。
奇怪的现象是:当我在新建的C文件删除这二句后,出现建有结构体的头文件无法使用
Johnson Chen1:
回复 yanzhen fu:
楼主,你好!从编译器的角度来说,你如果恢复了,不可能出现这样的问题,多包含头文件的问题,通常只会产生重复定义的问题。楼主可以将有问题的项目贴上来看一下!
本人在用controlsuit中的HVSCI_socerless例程来开发产品,现在遇到一个IQmathLib.H使用的怪现象:出现在一个C文件中无法包含的问题。描述如下:
我新建一个C文件,需要调用电机控制头文件中的结构体,而这些结构体内变量是_iq 格式的。现在当我把建有这些结构体的头文件的头文件从main.c中复制到这个新建的C文件中时,编译出现_iq格式不可用,我将IQmathLib.h头文件从main.c也复制过来,还是_iq格式不可用。
这时原来main.c中同样有这样的二条语句.这时我复制的地方。
奇怪的现象是:当我在新建的C文件删除这二句后,出现建有结构体的头文件无法使用
Johnson Chen1:
回复 yanzhen fu:
QN,Y指的是什么呢?
是指定义一个IQ格式的变量吗?