This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Multiply Defined between two Lib

I built a tensorflow lite micro library successfully.

In tensorflow lite micro library project

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Output:
*** Using Compiler 'V6.18', folder: 'C:\Keil_v5\ARM\ARMCLANG\Bin'
Build target 'Target 1'
Note: source file '.\Packages\tflite_micro\tensorflow\lite\micro\kernels\kernel_util.cc' - object file renamed from '.\Objects\kernel_util.o' to '.\Objects\kernel_util_1.o'.
compiling arm_relu_q15.c...
compiling arm_relu6_s8.c...
compiling arm_nn_activations_q7.c...
compiling arm_nn_activations_q15.c...
compiling arm_relu_q7.c...
compiling arm_elementwise_add_s16.c...
compiling arm_elementwise_add_s8.c...
compiling arm_elementwise_mul_s8.c...
compiling arm_concatenation_s8_w.c...
compiling arm_concatenation_s8_z.c...
compiling arm_elementwise_mul_s16.c...
compiling arm_concatenation_s8_y.c...
compiling arm_concatenation_s8_x.c...
compiling arm_convolve_1_x_n_s8.c...
compiling arm_convolve_1x1_s8_fast.c...
compiling arm_convolve_1x1_HWC_q7_fast_nonsquare.c...
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

So, I got a .lib file.

However, something happened when I imported the library to my project and compiled the whole project.

There are multiply defined errors between the library and another library in my project . 

Compiling result In My project:

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
linking...
Error: L6200E: Symbol _btod_d2e multiply defined (by btod.o and ROM.lib).
Error: L6200E: Symbol _btod_ediv multiply defined (by btod.o and ROM.lib).
Error: L6200E: Symbol _d2e_denorm_low multiply defined (by btod.o and ROM.lib).
Error: L6200E: Symbol _d2e_norm_op1 multiply defined (by btod.o and ROM.lib).
Error: L6200E: Symbol __btod_div_common multiply defined (by btod.o and ROM.lib).
Error: L6200E: Symbol _e2e multiply defined (by btod.o and ROM.lib).
Error: L6200E: Symbol _btod_emul multiply defined (by btod.o and ROM.lib).
Error: L6200E: Symbol __btod_mult_common multiply defined (by btod.o and ROM.lib).
Not enough information to list image symbols.
Not enough information to list load addresses in the image map.
Finished: 2 information, 0 warning and 8 error messages.
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

How can I remove the redefined source files btod.o? I can't find them in my Tensorflow Lite Micro library project.

0