.c和.cpp文件的Makefile不工作 我尝试编译C和.cp文件作为C++并将其编译成一个结果二进制文件。我的Makefile如下所示(简化):

.c和.cpp文件的Makefile不工作 我尝试编译C和.cp文件作为C++并将其编译成一个结果二进制文件。我的Makefile如下所示(简化):,makefile,Makefile,当我执行“全部生成”时,它会抱怨“不知道如何创建目标”simulated.o CFLAGS和cppfags/cxflags应该根据.c/.cpp文件自动使用-对吗?那么这个Makefile中有什么错误呢 谢谢! 我终于找到了我的问题的原因,它与那个有趣的C/CPP混合物没有关系。这个文件不是模拟的。C只是不在地方:-D我知道,混合C和C++有点奇怪,但是在这种情况下可以解释,C文件来自微控制器的固件,CPP文件是WxWiWaseUI组件。所有的都是一个在正常PC上运行的固件的模拟器。所有的组件都

当我执行“全部生成”时,它会抱怨“不知道如何创建目标”simulated.o

CFLAGS和cppfags/cxflags应该根据.c/.cpp文件自动使用-对吗?那么这个Makefile中有什么错误呢


谢谢!

我终于找到了我的问题的原因,它与那个有趣的C/CPP混合物没有关系。这个文件不是模拟的。C只是不在地方:-D我知道,混合C和C++有点奇怪,但是在这种情况下可以解释,C文件来自微控制器的固件,CPP文件是WxWiWaseUI组件。所有的都是一个在正常PC上运行的固件的模拟器。所有的组件都不能移动到C或C++,所有的都必须保持它的原样。

1)这不是关于不同语言C或C++,而是MaxFrase.Script文件。不要是垃圾邮件标签。2)C不是C++不是C!不要把C代码作为C++,反之亦然。相同的语法/语法也不一样。如果你想在C++项目中使用C模块,那么为C++提供一个合适的头,并把C代码编译成C。你问的是XYY问题。你读过make的手册吗?是不是精确的错误消息?GNU制作的版本是“不知道如何创建目标”。,知道您使用的是哪个Make版本会很有用。您是否有文件
simulated.cpp
?命令
make-p-f/dev/null
(或类似命令,取决于您的make)将打印规则的“数据库”–在其中搜索.cpp规则以获得可能的启发。@Norman Gray:原始错误消息是“make:**Keine Regel vorhanden,um das Target»simulated.o«,benötigt von»all«,zu erstellen.Schluss.;-)这意味着“没有规则来创建所有人都需要的模拟目标”@Elmi-Ah,对。非国际化的版本是“不知道如何创建目标”,因此可能值得搜索。否则,您的Makefile没有明显的错误。如果我是你,我会首先解决@Olaf提到的C/C++混淆,然后研究
make-p
make-d
的输出。当在命令行上运行时,这个精确的makefile会失败吗?您的源代码被称为
simulated.cpp
,是吗?
CFLAGS  = -Wall -fpermissive -DENV_EMBEDDED -I../utils/ -../usblib/include
CPPFLAGS = $(CFLAGS)
CXXFLAGS = $(CFLAGS)

LDFLAGS  = -lmisc -lrt

PNAME=Simulator

OBJ = simulated.o \
    buffer.o \
    common.o 

all: $(OBJ)
    $(LDFLAGS) -o $(PNAME) $(OBJ)