本来想使用ACE_Get_Opt类来做一个命令行解析的功能,但是当项目中配置好了ACE库的路径后,编译时遇到“无法打开包括文件: inttypes.h : No such file or directory ”的错误。
下面是我的目录配置
由于是编译错误,所以和库目录的设置没关系。
下面是代码
// GetOptTest.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include "Get_Opt.h" int _tmain(int argc, _TCHAR* argv[]) { ACE_Get_Opt opt(argc, argv, "s:p:u:p:", 1, 1); //opt.long_option() return 0; }
因为目录中设置了”..\ace\”,所以代码中引用头文件直接是文件名
#include "Get_Opt.h"
但是这样写直接就导致了编译上述的编译错误。
经过查资料后,目录设置中应该设置ACE_Wrapper的根目录,不能设置为ace目录,应该如下设置
引用头文件的问题,没有使用ace目录,正确的引用头文件的方式为
#include "ace\Get_opt.h"
这样引用头文件后,项目可以正常编译了。
代码如下
// GetOptTest.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include "ace/Get_Opt.h" int _tmain(int argc, _TCHAR* argv[]) { ACE_Get_Opt opt(argc, argv, "s:p:u:p:", 1, 1); //opt.long_option() return 0; }