我正在从tensorflow回购中处理一个很大的Makefile,我需要添加一个文件链接。
经过相当多的调试链接错误之后,我发现如果我的文件以.cc结尾,则链接错误消失,而在链接.c文件时,会出现错误(文件内容保持不变)。
我正在将文件链接到Makefile.inc文件中:
.
.
.
FL_SRCS := \
tensorflow/lite/vis_mi/main.cc \
myFunctions.c \ -->>>>IF I CHANGE THE FILENAME TO myFunctions.cc and link to this .cc file here, it works!!
.
.
.
# Builds a standalone binary.
$(eval $(call vis_test,vis_mi,\
$(FL_SRCS),$(FL_HDRS)))
使用.c结尾的链接错误以:结尾>]
tensorflow/lite/vis_mi/main.o: In function `main': tensorflow/lite/vis_mi/main.cc:183: undefined reference to `printMsg()' ../downloads/gcc_embedded/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/bin/ld: link errors found, deleting executable `tensorflow/lite/vis_mi' collect2: error: ld returned 1 exit status gmake: *** [tensorflow/lite/vis_mi/Makefile.inc:578: tensorflow/lite/vis_mi/bin/micro_speech] Error 1
。c文件代码:
#include <stdio.h> #include "myFunctions.h" void printMsg(){ //do something here }
和头文件:
#ifndef MYFUNCTIONS_H #define MYFUNCTIONS_H void printMsg(); #endif /* MYFUNCTIONS_H */
如何添加以.c结尾的文件? Makefile对我来说还很新,并且不想包含所有详细信息,如果您需要Makefile中的更多详细信息来回答这个问题,我很乐意编辑我的帖子。
我正在从tensorflow回购中处理一个很大的Makefile,我需要添加一个文件链接。在对链接错误进行了大量调试之后,我发现如果文件以.cc结尾,则链接...
C和C ++函数的名称解析是不同的。有时这会给同时也是有效的“ C ++”的“ C”代码造成问题。例如: