首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C++ >> 關於C++

ACE 庫編譯錯誤「無法開啟 inttypes.h」解決方案

     編輯:關於C++

問題現象

專案設定 ACE 包含目錄為 ..\ace\,引用 #include "Get_Opt.h" 時編譯錯誤:

fatal error C1083: 無法開啟包含檔案: "inttypes.h": No such file or directory

根因分析

ACE 內部頭檔相互引用時假設包含路徑為 ACE_Wrappers 根目錄,而非 ace/ 子目錄。設定為 ..\ace\ 導致相對路徑解析錯誤,找不到 ace/inttypes.h 等內部依賴。

正確設定步驟

  1. 專案屬性 → C/C++ → 一般 → 附加包含目錄:設為 ACE_Wrappers 根目錄(如 D:\ACE_Wrappers)。
  2. 程式碼引用方式改為相對根目錄:
    #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);
    return 0;
}

編譯通過,問題解決。

關鍵原則

  • ACE 設計為 #include "ace/xxx.h" 風格,包含目錄必須指向 ace/ 的父目錄。
  • 庫目錄設定同理:指向 ACE_Wrappers/lib 而非 ACE_Wrappers/ace/lib。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved