NMAKE在子文件夹中找不到包含文件

时间:2012-02-22 22:27:31

标签: include makefile filepath nmake

使用Microsoft的NMAKE和-I选项来包含路径。它适用于这些文件夹中的包含文件,但似乎无法在命名的子文件夹中找到它:

这是结果命令&错误讯息:

cl /nologo /Ox /MD /EHsc /W3 /D_CRT_SECURE_NO_DEPRECATE -I "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\sys"; -I.    "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\sys" "C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include" "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include" -DAVOID_WIN32_FILEIO -DCHECK_JPEG_YCBCR_SUBSAMPLING -DDEFAULT_EXTRASAMPLE_AS_ALPHA -DSTRIPCHOP_DEFAULT=TIFF_STRIPCHOP -DSTRIP_SIZE_DEFAULT=8192 -DLOGLUV_SUPPORT -DNEXT_SUPPORT -DTHUNDER_SUPPORT -DLZW_SUPPORT -DPACKBITS_SUPPORT -DCCITT_SUPPORT -DTIF_PLATFORM_CONSOLE -DFILLODER_LSB2MSB  /c tif_unix.c

tif_unix.c
tif_unix.c(35) : fatal error C1083: Cannot open include file: 'sys/types.h': No such file or directory

有两点需要注意:

  1. “missing”文件“types.h”,IS位于其中一个包含路径的“sys”子文件夹中,因此应该找到“sys / types.h”,并且

  2. “sys”子文件夹也包括在内(绝望之外)和types.h未找到STILL。

  3. 无法找到包含该文件的任何想法?

1 个答案:

答案 0 :(得分:2)

看起来您没有正确使用该选项。语法为-I directory,根据Microsoft文档to add more than one directory, you must use this option more than once。如果你忠实地再现了你正在使用的实际命令行,那么你有-I directory -I directory directory directory directory,所以你的几个include目录都会被忽略。

假设您希望包含路径中的所有这些目录,正确的语法是:

-I "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\sys"
-I.
-I "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\sys"
-I "C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include"
-I "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include"

请注意在每个目录之前使用-I包括 .