读书人

无发打开包含文件:“strings.h“解决

发布时间: 2012-06-09 17:16:42 作者: rapoo

无发打开包含文件:“strings.h“
具体事由:
下载了openssl-1.0.0-beta2,想编译使用,安装完activeperl并设置好环境变量后,在VC2008的命令行模式下执行了如下命令:
1、perl configure VC-WIN32
2、ms\do_ms
一切顺利,在执行如下命令时出现题目所述的信息:
nmake -f ms\ntdll.mak

具体位置是在ctrpto\o_str.c中的64行

我以为是没有设置包含文件所在目录,但翻遍了硬盘,没有strings.h文件啊,是不是少装了什么东西。网上的strigs.h文件随手捞一大堆,可是对于openssl,哪个正确呢?望高手赐教。

[解决办法]
string.h吧?
没有s
[解决办法]
试过用string.h没有?

探讨
不对,确定是strings.h文件找不到

[解决办法]
到网上下载一个。
[解决办法]
strings.h??
没见过
[解决办法]

strings.h 里一般有bzero, bcopy, bcmp等。
不是C标准里的,是POSIX里的,WINDOWS没有
http://www.opengroup.org/onlinepubs/007908775/xsh/strings.h.html

不过OpenSSL不该这样的
strings.h应该与下面的类似。
C/C++ code
          #ifndef   _STRINGS_H  #define   _STRINGS_H         #ifndef   _H_STANDARDS     #include   <standards.h>     #endif         #include   <sys/types.h>         #ifdef   __cplusplus     extern   "C"   {     #endif         #if   _XOPEN_SOURCE_EXTENDED==1         #ifdef   _NO_PROTO         extern   int   bcmp();     extern   void   bcopy();     extern   void   bzero();     extern   int     ffs();     extern   char   *index();     extern   char   *rindex();         #ifndef   _STRCASECMP_DEF     #define   _STRCASECMP_DEF     extern   int     strcasecmp();     extern   int     strncasecmp();     #endif   /*   _STRCASECMP_DEF   */         #else   /*   _NO_PROTO   */         extern   int   bcmp(const   void   *,   const   void   *,   size_t);     extern   void   bcopy(const   void   *,   void   *,   size_t);     extern   void   bzero(void   *,   size_t);     extern   int     ffs(int);     extern   char   *index(const   char   *,   int);     extern   char   *rindex(const   char   *,   int);         #ifndef   _STRCASECMP_DEF     #define   _STRCASECMP_DEF     extern   int     strcasecmp(const   char   *,   const   char   *);     extern   int     strncasecmp(const   char   *,   const   char   *,   size_t);     #endif   /*   _STRCASECMP_DEF   */         #endif   /*   _NO_PROTO   */         #endif   /*   _XOPEN_SOURCE_EXTENDED   */         #ifdef   _ALL_SOURCE     #include   <string.h>     #endif   /*   _ALL_SOURCE   */         #ifdef   __cplusplus     }     #endif         #endif   /*   _STRINGS_H   */ 

读书人网 >C++

热点推荐