【问题标题】:Visual Studio Compiler and recursive MakeVisual Studio 编译器和递归 Make
【发布时间】:2015-05-17 21:44:45
【问题描述】:

在使用带有递归 make 的 Visual Studio 编译器时,我收到了一条非常可怕的错误消息。

这是我的设置:

顶级 Makefile:

.PHONY: test

test:
    $(MAKE) -C subdir

子目录中的生成文件:

.PHONY: all

all:
    cl.exe /nologo /c src/interface.cpp

编译成功但我总是收到这个警告:

无法识别的源文件类型“cl”,假定为目标文件

此警告仅在我使用顶级 Makfile 调用 make 时出现。如果我将目录更改为 subdir 并运行,则不会出现错误。

已知 cl.exe 在运行 make 之前通过运行 vcvarsall.bat 来生成。

我真的希望你能帮助我。

提前致谢。

【问题讨论】:

  • 你用的是什么版本的make?
  • 你能显示在顶层目录中运行 make 的确切命令和输出吗?

标签: compilation makefile cl


【解决方案1】:

问题是,我有一个保存编译器文件名的变量,然后我从 Make 导出了该变量。所以命令是 cl.exe cl.exe...谢谢!

【讨论】:

  • 在您提供的示例 makefile 中没有保存编译器文件名的变量。如果您发布了实际重现您的问题的示例 makefile,您可能早就解决了问题。
猜你喜欢
  • 2010-12-19
  • 1970-01-01
  • 2011-09-12
  • 1970-01-01
  • 2011-07-30
  • 1970-01-01
  • 2016-11-06
  • 2021-06-20
  • 2018-01-01
相关资源
最近更新 更多