一:遗漏分隔符
先上代码
Target = Client
Object = Client.o ChatClient.o
$(Target) : $(Object)
gcc $(Object) -o $(Target) -lpthread -lsqlite3
.PHONY:clean
clean:
rm -rf *.o Client
写聊天室项目时,在chatroom目录下新建了一个Makefile 文件,结果报错
百度了很多,有说是 /etc/目录下 vimrc 配置时 空格softtabstop 设置的问题, 应该设置成 8, 空格是逢 8 进一个制表符Tab
于是我将tabstop 设置为 8,报新的错
足够说明,我虽然按了Tab建,但是系统自动将其变成空格,Tab键并没有输入成功
那么,怎么让Tab键入成功?
解决办法:
1,插入模式:输入 ctrl + v
2,再按下 Tab
检查:ESC回到底行模式, 按 g+ a, 若显示 9,则说明键入成功,如图
但是, 当我将Tabstop再改回 4时, 采用上述方法键入Tab,发现不影响,
亲自验证,不影响,不论是4 还是 8
二:没有规则可以创建 “XX“ 需要的目标 “XXX”。 停止。
这个错误犯的就比较 low了,很绝望, 目标文件没有加路径,
Target = Client
Object = Client1/Client.o Client1/1ChatClient.o
/*Object = /home/chatroom 2.0/Client1/Client.o /home/chatroom 2.0/Client1/1ChatClient.o
*/
//绝对路径不能含有空格,不然报错
//make: *** 没有规则可以创建“Client”需要的目标“/home/chatroom”。 停止。
$(Target) : $(Object);
gcc $(Object) -o $(Target) -lpthread -lsqlite3
.PHONY:clean
clean:
rm -rf *.o Clientps
/*Object = /home/chatroom 2.0/Client1/Client.o /home/chatroom 2.0/Client1/1ChatClient.o
*/
//绝对路径不能含有空格,不然报错
//make: *** 没有规则可以创建“Client”需要的目标“/home/chatroom”。 停止。
版权声明:本文为weixin_42720316原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。