当我在vs2010 x64模式下编译我的C ++解决方案时,我得到以下编译问题。
Can not open include file 'sys/param.h' :No such file or directory.
但是在Win32模式下编译也一样。
我不确定这个头文件是如何丢失的。任何人都可以帮我解决这个问题吗?
我正在使用一些客户端标头,这是客户端文件中的以下代码部分
#ifndef WIN32
#include <sysipc.h>
#include <sys/param.h>
#endif
答案 0 :(得分:2)
这很可能是某些#if
出错的结果 - 例如它正在检查_M_IX86
,并且没有在64位系统上设置,它会选择非窗口并尝试编译它。
sys/param.h
是一个unix / linux头文件,您不应该期望在Windows系统中找到它。 [编辑:除非你迷上了GNU编译器的一个版本或对MSVC构建环境的编译工具核心进行了一些其他的修改]
不幸的是,如果没有看到源代码,我们所能做的就是解释可能的原因......
答案 1 :(得分:2)
include #include <sysipc.h>
应该是#include <sys/ipc.h>
,但是,这是一个POSIX头文件,适用于Linux构建项目,因此它不适用于任何Visual Studio项目。由于您正在为x64进行编译,因此默认情况下可能不会设置WIN32标志。
尝试将宏更改为:
#ifndef _MSC_VER
#include <sys/ipc.h>
#include <sys/param.h>
#endif // !_MSC_VER
希望有所帮助。