Microsoft WSL会产生问题

问题描述 投票:0回答:1

我正在尝试在WSL中构建一个项目。同一个项目在ubuntu18.04 VM中编译,但不在WSL ubuntu18.04中编译。我看到的问题是make无法在makefile中包含MakefileCommom。 makefile内容如下:

-include ~/MakefileCommon
RM := rm -rf
all:
    $(MAKE) -f ./$(MAKEFILE_TARGET) $@
clean:  
    $(MAKE) -f ./$(MAKEFILE_TARGET) $@
image:
    $(MAKE) -f ./$(MAKEFILE_TARGET) $@
uninstall:
    $(MAKE) -f ./$(MAKEFILE_TARGET) $@

-include ../makefile.targets

我使用的命令是:

make -C builds clean all

我得到的错误是:

make -f ./ clean
make[1]: *** ./: Is a directory.  Stop.

因此我看到,$(MAKEFILE_TARGET)是导入的注释。 import语句在MakefileCommon中

makefile windows-subsystem-for-linux ubuntu-18.04
1个回答
0
投票

路径名中的波浪号~是一个神奇的角色,可以扩展到POSIX系统上用户的主目录。我不知道它在Windows中扩展到了什么,但我的猜测是它不是你所期望的。尝试在这里放一个真正的路径而不是使用~。您还可以运行make -d并检查输出以查看它用于MakefileCommon的路径名。

© www.soinside.com 2019 - 2024. All rights reserved.