2012-02-22 68 views
1

将Microsoft的NMAKE与-I选项一起用于包含路径。它适用于在这些文件夹中包含文件,但似乎无法找到一个在名为子文件夹:NMAKE无法在子文件夹中找到包含文件

这里的结果命令&错误消息:

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. “丢失”的文件,“types.h中”,是“SYS”的包括路径之一的子文件夹,所以“SYS/types.h中”应该已经发现,并

  2. “sys”子文件夹也包含在内(绝望中)和types.h中没有找到STILL。

任何想法,为什么这包括文件无法找到?

+0

您的评论表明我的答案解决了您的问题;你会将它标记为已接受吗? – 2012-02-24 19:40:08

+0

完成,谢谢! – user20493 2012-04-10 18:24:57

回答

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,因此会忽略几个包含目录。

假设你想在包括路径所有这些目录的,正确的语法是:

-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每个目录之前,包括.

+1

谢谢埃里克 - 你钉了它! – user20493 2012-02-23 16:50:21

相关问题