我有3个文件。 这些在visual studio中编译。
in2post.cpp
long.h
long.hpp,
long.h #includes long.hpp
以及long.hpp和in2post.hpp #include in2post
我的makefile看起来像这样
in2post: in2post.o
g++ -std=c++11 -o in2post.o in2post
in2post.o: in2post.cpp long.hpp long.h
g++ -std=c++11 -c in2post.cpp
clean:
rm *.o in2post
我得到了
hook@linprog2:~>make
g++ -std=c++11 -c in2post.cpp
In file included from long.h:40:0,
from in2post.cpp:3:
long.hpp: In member function ârob::Long<T>& rob::Long<T>::operator=(rob::Long<T>&&)â:
Long.hpp:36:1: error: expected â;â before â}â token
}
^
makefile:5: recipe for target 'in2post.o' failed
make: *** [in2post.o] Error 1
hook@linprog2:~>nano makefile
答案 0 :(得分:0)
似乎g ++遇到了一些奇怪的字符,无法解析文件。我的建议是在像vim这样的纯文本编辑器中打开文件,然后在rob::Long<T>
之前重新插入空格(它可能是一个不可见的字符)并删除函数声明operator=(rob::Long<T>&&)â
末尾的字符。