Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/140.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
移动到c++;:没有规则使file.o需要目标文件.c 在C++中,我有一个使用AutoCnf/AutoMak的源库,现在应该使用C++编译器编译。_C++_C_Makefile_Automake - Fatal编程技术网

移动到c++;:没有规则使file.o需要目标文件.c 在C++中,我有一个使用AutoCnf/AutoMak的源库,现在应该使用C++编译器编译。

移动到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 这适用于源代码的绝大多数部分(其

因此,我将所有文件从.c重命名为.cpp,并相应地更改了所有makefiles。但是,我得到以下错误(例如):

Makefile基本上包括

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