TI中文支持网
TI专业的中文技术问题搜集分享网站

如何在ipclite例程的基础上建立新的C文件

TI的工程师你们好

       是这样的,我能在Linux编译ipclite的例程。现在我想拓展例程,新建了test.c和test.h(里面是一个简单的test函数),并在main_dsp.c中调用test函数。但是我无论把这两个文件放在哪里编译都通过不了——例如放在examples里面和main_arm.c以及main_dsp.c一起;或者放在ipclite里面和ipc.c及ipc.h一起。

        编译报错信息如下:

<Linking>

undefined first referenced symbol in file ——— —————- test Debug/main_dsp.obj

error: unresolved symbols remain
error: errors encountered during linking; "Debug/modem.out" not built

>> Compilation failure
makefile:70: recipe for target 'bin' failed
make[1]: *** [bin] Error 1
make[1]: Leaving directory '/mnt/hgfs/UbuntuShared/oMAPL138_StarterWare/build/c674x/cgt/omapl138/evmOMAPL138/modem'
makefile:54: recipe for target 'debug' failed
make: *** [debug] Error 2

         我想知道如何才能在ipclite例程的基础上增加新的C文件呢,万分感谢!

Shine:

从报错信息看,test symbol没有定义,请问你在main_dsp.c中是如何调用test.c中的test函数的?

YuHao Ye:

回复 Shine:

test.c文件如下:

#include "test.h"
void test()
{printf("Hello World!");
}

test.h文件如下:

#include <stdio.h>void test();

main_dsp.c中我先声明test.h头文件,再调用test函数

#include "test.h"
...
test();
...

编译的时候就会有错误:

undefined first referenced symbol in file ——— —————- test Debug/main_dsp.obj

但是我发现我把main_dsp.c的头文件包含语句#include "test.h"改成#include "test.c",编译就能通过

YuHao Ye:

回复 Shine:

谢谢!没想到是这样的小问题。

YuHao Ye:

回复 Shine:

尴尬的发现我main_dsp.c的include语句还是#include "test.c",所以才能编译通过,改成#include "test.h"还是不行

赞(0)
未经允许不得转载:TI中文支持网 » 如何在ipclite例程的基础上建立新的C文件
分享到: 更多 (0)