移动到c++;:没有规则使file.o需要目标文件.c 在C++中,我有一个使用AutoCnf/AutoMak的源库,现在应该使用C++编译器编译。
因此,我将所有文件从.c重命名为.cpp,并相应地更改了所有makefiles。但是,我得到以下错误(例如): Makefile基本上包括移动到c++;:没有规则使file.o需要目标文件.c 在C++中,我有一个使用AutoCnf/AutoMak的源库,现在应该使用C++编译器编译。,c++,c,makefile,automake,C++,C,Makefile,Automake,因此,我将所有文件从.c重命名为.cpp,并相应地更改了所有makefiles。但是,我得到以下错误(例如): Makefile基本上包括 bin_PROGRAMS = configparser configparser_SOURCES = tmsConfigFiles.cpp tmsMoreFiles.cpp tmsEvenMoreFiles.cpp AM_CXXFLAGS = -I .. -DSOME_DEFINE -Wall -Wextra -etc 这适用于源代码的绝大多数部分(其
bin_PROGRAMS = configparser
configparser_SOURCES = tmsConfigFiles.cpp tmsMoreFiles.cpp tmsEvenMoreFiles.cpp
AM_CXXFLAGS = -I .. -DSOME_DEFINE -Wall -Wextra -etc
这适用于源代码的绝大多数部分(其中一些从一开始就是cpp),但对于某些文件,上面会显示错误消息。确实尝试过清洁和自动恢复等,但没有效果
同样的修订版在Centos 6上有效,在Centos 7上有时失败,在我的拱形框上总是失败
有人在自动工具中有过类似的错误或者知道解决方法吗?我能想到的一件显而易见的事情是,在更改
Makefile.am
之后,您没有重新执行automake
(或者更恰当地说,autoreconf
),无论出于何种原因(有多种方法可以实现)您没有启用maintaner模式
不过,这是假设您实际上正在编辑
Makefile.am
。如果您确实编辑了Makefile
,那么问题恰恰相反,automake
做了正确的事情,并通过重新生成不应编辑的文件来完全忽略您的更改。git clean-fx
没有删除.deps目录
手动删除它们解决了问题
bin_PROGRAMS = configparser
configparser_SOURCES = tmsConfigFiles.cpp tmsMoreFiles.cpp tmsEvenMoreFiles.cpp
AM_CXXFLAGS = -I .. -DSOME_DEFINE -Wall -Wextra -etc