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

Posted

技术标签:

【中文标题】NMAKE 在子文件夹中找不到包含文件【英文标题】:NMAKE can't find include file in subfolder 【发布时间】:2012-02-22 22:27:31 【问题描述】:

使用带有 -I 选项的 Microsoft 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

需要注意的两点:

    “缺失”文件“types.h”,IS 在包含路径之一的“sys”子文件夹中,因此应该已找到“sys/types.h”,并且

    “sys”子文件夹也包括在内(出于绝望),但仍未找到 types.h。

任何想法为什么找不到此包含文件?

【问题讨论】:

您的评论表明我的回答解决了您的问题;你会把它标记为接受吗? 【参考方案1】:

您似乎没有正确使用该选项。语法为 -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包括.

【讨论】:

谢谢 Eric -- 你成功了!

以上是关于NMAKE 在子文件夹中找不到包含文件的主要内容,如果未能解决你的问题,请参考以下文章

收到错误:尝试创建/迁移/运行时在路径中找不到“nmake”

使用 Microsoft Access 2010 在子查询中找不到表

在 Django 视图中找不到静态文件

致命错误:在颤振中找不到“颤振/颤振.h”文件

在 4gl 文件中找不到函数定义

CMake GoogleTests 在我的测试文件中找不到导入的头文件