本来想使用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;
}
posted on 2014-01-11 20:03  缘生梦  阅读(3528)  评论(2编辑  收藏  举报