- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
很多人显然出于某种原因遇到了这个问题,但我还没有找到适用于我的特定案例的任何已回答问题。如果有一个我错过了,我当然会很感激被指出来(最好是以一种尊重的方式)。
如问题所示,我在 Windows 7 x64 机器上使用 Sublime Text 3(稳定版,Build 3059)。我正在为我的项目使用 make
构建系统,因为这是我工作时在 Mac 上使用的系统,虽然它不一定在 Windows 上最有意义(没有双关语意),但它确实应该使用正确的设置。我意识到我可以通过不使用 make
来避免这个问题,但我更愿意了解问题是什么而不是(或除此之外)只是做其他事情。以下是来自命令行的一些信息(即普通的 Windows 命令提示符):
C:\Users\xt\code\d3>where make
C:\cygwin64\bin\make.exe
C:\Users\xt\code\d3>echo %path%
C:\Users\xt\AppData\Roaming\npm;C:\Cygwin64\bin\;C:\Python27\;C:\Python27\Script
s\;C:\Program Files (x86)\AMD APP\bin\x86_64;C:\Program Files (x86)\AMD APP\bin\
x86;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\
WindowsPowerShell\v1.0\;C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Sta
tic;C:\Program Files\nodejs\;C:\Program Files (x86)\Git\cmd;C:\Program Files (x8
6)\Git\bin;C:\julia;C:\Users\xt\AppData\Roaming\npm
请注意,Windows 在 C:\cygwin64\bin\make.exe
和 C:\Cygwin64\bin\
中找到了 make
命令也在我的路径中。我不认为大小写差异是问题,因为 Sublime Text 并不是在提示无法找到 make
,而是在提示找不到 makefile。
这是我正在使用的目录结构
C:\Users\xt\code\d3>ls -R
.:
Makefile README.txt coffee css index.html js license.txt
./coffee:
index.coffee
./css:
style.css
./js:
请注意,Makefile
实际上存在于 d3
目录中。
我在Sublime Text中打开d3
目录如下:
Makefile
Makefile
的内容如下:
.PHONY: all
all: js/index.js
js/%.js: coffee/%.coffee
coffee -co $(@D) $<
.PHONY: clean
clean:
rm -r js
郑重声明,每个配方行都以 TAB
字符开头,而不是空格。
查看 Tools > Build Systems 显示我当前的构建系统是Automatic
。运行构建产生以下输出:
make: *** No targets specified and no makefile found. Stop.
[Finished in 0.2s with exit code 2]
[shell_cmd: make]
[dir: C:\Users\xt\code\d3]
[path: C:\Cygwin64\bin\;C:\Python27\;C:\Python27\Scripts\;C:\Program Files (x86)\AMD APP\bin\x86_64;C:\Program Files (x86)\AMD APP\bin\x86;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static;C:\Program Files\nodejs\;C:\Program Files (x86)\Git\cmd;C:\Program Files (x86)\Git\bin;C:\julia;C:\Users\xt\AppData\Roaming\npm]
因此,它找到了 make
命令,并且它从 C:\Users\xt\code\d3
目录运行,如前所述,该目录确实包含一个名为 Makefile
的生成文件。
当我在命令行上尝试同样的操作时,我得到以下信息:
C:\Users\xt\code\d3>make
coffee -co js coffee/index.coffee
...并且,确认成功的结果:
C:\Users\xt\code\d3>ls -R
.:
Makefile README.txt coffee css index.html js license.txt
./coffee:
index.coffee
./css:
style.css
./js:
index.js
我尝试通过创建一个新的构建系统(工具 > 构建系统 > 新构建系统...)来调试 Sublime Text 中的制作过程,保存为 C:\Users\xt\AppData\Roaming\Sublime Text 3\Packages\User\Make (debug).sublime-build
包含以下内容:
{
"shell_cmd": "make -dr"
}
当我尝试使用这个新的构建系统 Make (debug)
进行构建时,我得到以下结果:
GNU Make 4.0
Built for x86_64-pc-cygwin
Copyright (C) 1988-2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Reading makefiles...
Updating makefiles....
Considering target file 'GNUmakefile'.
File 'GNUmakefile' does not exist.
Looking for an implicit rule for 'GNUmakefile'.
No implicit rule found for 'GNUmakefile'.
Finished prerequisites of target file 'GNUmakefile'.
Must remake target 'GNUmakefile'.
Failed to remake target file 'GNUmakefile'.
Considering target file 'makefile'.
File 'makefile' does not exist.
Looking for an implicit rule for 'makefile'.
No implicit rule found for 'makefile'.
Finished prerequisites of target file 'makefile'.
Must remake target 'makefile'.
Failed to remake target file 'makefile'.
Considering target file 'Makefile'.
File 'Makefile' does not exist.
Looking for an implicit rule for 'Makefile'.
No implicit rule found for 'Makefile'.
Finished prerequisites of target file 'Makefile'.
Must remake target 'Makefile'.
Failed to remake target file 'Makefile'.
make: *** No targets specified and no makefile found. Stop.
[Finished in 0.2s with exit code 2]
[shell_cmd: make -dr]
[dir: C:\Users\xt\code\d3]
[path: C:\Cygwin64\bin\;C:\Python27\;C:\Python27\Scripts\;C:\Program Files (x86)\AMD APP\bin\x86_64;C:\Program Files (x86)\AMD APP\bin\x86;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static;C:\Program Files\nodejs\;C:\Program Files (x86)\Git\cmd;C:\Program Files (x86)\Git\bin;C:\julia;C:\Users\xt\AppData\Roaming\npm]
不出所料,make
找不到GNUmakefile
或makefile
,但由于某种原因它找不到Makefile
,尽管声称在 [dir: C:\Users\xt\code\d3]
中运行。为了进行比较,这里是相应的命令行输出:
C:\Users\xt\code\d3>make -dr
GNU Make 4.0
Built for x86_64-pc-cygwin
Copyright (C) 1988-2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Reading makefiles...
Reading makefile 'Makefile'...
Updating makefiles....
Considering target file 'Makefile'.
Looking for an implicit rule for 'Makefile'.
No implicit rule found for 'Makefile'.
Finished prerequisites of target file 'Makefile'.
No need to remake target 'Makefile'.
Updating goal targets....
Considering target file 'all'.
File 'all' does not exist.
Considering target file 'js/index.js'.
Looking for an implicit rule for 'js/index.js'.
Trying pattern rule with stem 'index'.
Trying implicit prerequisite 'coffee/index.coffee'.
Found an implicit rule for 'js/index.js'.
Considering target file 'coffee/index.coffee'.
Looking for an implicit rule for 'coffee/index.coffee'.
No implicit rule found for 'coffee/index.coffee'.
Finished prerequisites of target file 'coffee/index.coffee'.
No need to remake target 'coffee/index.coffee'.
Finished prerequisites of target file 'js/index.js'.
Prerequisite 'coffee/index.coffee' is older than target 'js/index.js'.
No need to remake target 'js/index.js'.
Finished prerequisites of target file 'all'.
Must remake target 'all'.
Successfully remade target file 'all'.
make: Nothing to be done for 'all'.
在这里,make
找到了 Makefile
,就在我们知道的地方。这就是我达到众所周知的技巧的尽头的地方。
所以...感谢所有费心阅读所有这些内容的人,感谢您的反馈。
最佳答案
检查行尾,因为 Windows、Linux 和 Mac 使用不同的行尾。
在 view -> Line endings
中更改行结束设置尝试使用不同的选项并检查(可能是它的 Windows,切换到 Mac 并检查一次)。
关于Windows 崇高文本 3 "make: *** No targets specified and no makefile found. Stop.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25478201/
我有一个 Makefile,它针对特定目标调用另一个 Makefile。假设主 Makefile 包含 some_dir/some_target: cd some_dir && make so
这两个文件大多出现在开源项目中。 它们的用途是什么?它们如何工作? 最佳答案 Makefile.am 是程序员定义的文件,由 automake 使用来生成 Makefile.in 文件( .am 代表
我的源代码位于一堆子目录中,例如: src/widgets/apple.cpp src/widgets/knob.cpp src/tests/blend.cpp src/ui/flash.cpp 在项
这就是我所拥有的: SUBDIRS = src/lib/ResourceManager all: $(SUBDIRS) $(SUBDIRS): make install -C $@ 我正在尝试
我想写一个 Makefile 来执行来自两个不同数组的两个输入的命令例如 a = A B C b = 1 2 3 ./run A 1 ./run B 2 ./run C 3 我不知道怎么写,因为在Ma
在 GNU make 手册的早期部分之一,Section 3.7 , 有一个 makefile 配方的大纲 immediate : immediate ; deferred defer
是否存在将 gmake 的 GNU Makefile 转换为可用于 make (FreeBSD-make) 的 Makefile 的实用程序? 最佳答案 该实用程序称为开发人员(程序员,制作大师,..
所以我前段时间了解了什么是 Makefile,创建了一个模板 Makefile,我所做的就是为我正在执行的每个程序复制和更改相同的文件。我改了几次,但它仍然是一个非常粗糙的Makefile。我应该如何
我正在做一些 Makefile 重构,并试图找出最简洁的方法来实现一个 Makefile,它执行以下操作: 有一个变量列出了所有源文件(可以是 C 和 C++ 文件) 所有目标文件都在 OBJ_DIR
我正在尝试创建一个 Makefile,它将通过 tic 编译位于目录中的 terminfo 文件。 tic 还将它自动创建的 termcap 文件复制到系统或用户特定的目标文件夹。对于普通用户,如果
我想要类似的东西 BROKEN_THINGS = \ thing1 \ # thing1 is completely broken thing2 \ # thing2 is broken to
如果我的程序必须为不同的结果(主要是错误)返回不同的值(例如 0、1、2、3 等),则调用该程序的 makefile 将不得不停止执行其余的 makefile 命令。即使该命令产生错误(返回非零值),
我正在学习使用漂亮的 Linux 工具:make。还有一点我想了解的: 让我们看一下这个简单的例子: JADE = $(shell find pages/*.jade) HTML = $(JADE:.
假设您有一个包含两个伪目标“all”和“debug”的 Makefile。 'debug' 目标旨在构建与 'all' 相同的项目,除了一些不同的编译开关(例如 -ggdb)。由于目标使用不同的编译开
我有一个调用多个其他生成文件的生成文件。 我想将 -j 参数传递给其他 makefile 调用。 类似(make -j8): all: make -f libpng_linux.mk -j
我处理过的 Makefile 大部分都很复杂,并且隐藏了很多关系。我自己从来没有写过一个,想知道是否有人有一些关于编写易于阅读和可重用的 Makefile 的提示? 最佳答案 我通常使用这样的东西,在
嘿,我有一个简单的“主” Makefile,它只是调用其他 makefile。我正在尝试执行以下操作,以便以正确的顺序构建组件: LIB_A = folder_a LIB_B = folder_b L
生成文件: #there is a whitespace after "/my/path/to" FOO = "/my/path/to" BAR = "dir" INCLUDE_DIRS = $(FO
我正在学习 makefile,我知道如何创建一个简单的 makefile。我正在继续使用嵌套的 makefile。这是我的目录结构 /src ...makefile ...main.cpp ...fo
什么TEMP0_FILES下面计算到? SOURCE_FILES可以等于多个源文件。请告诉我以下语法 :.cpp=.o 的用途 SOURCE_FILES = main.cpp TEMP0_FILES
我是一名优秀的程序员,十分优秀!