這個問題很大程度上與我的previoustwo問題有關。包括socket.io-client-cpp和提升到Windows 8 C++應用程序
我已經構建並在我的項目中包含了boost 1.51。
在我Socket.IO接口文件(pch.h一起),這是我包括順序:
#include <wrl.h>
#include <dwrite_1.h>
#include <wincodec.h>
#include <agile.h>
#include "types.h"
#include <cstdint>
#include <stdint.h>
#include <climits>
#include <cstdlib>
#include "boost/cstdint.hpp"
#include "boost/asio.hpp"
#include "boost/bind.hpp"
#include <sio_client_handler.hpp>
#include "boost/thread.hpp"
當我編譯我的代碼,我得到下面的輸出(僅前幾行):
錯誤1個錯誤C2039: 'int_least8_t':不是 '`全局命名空間'」(SocketIO.cpp)C的成員:\程序文件(86)\微軟的Visual Studio 11.0 \ VC \ include \ cstdint
錯誤2錯誤C2873:'int_least8_ t':符號不能用於使用聲明(SocketIO.cpp)c:\ program files(x86)\ microsoft visual studio 11.0 \ vc \ include \ cstdint
錯誤3錯誤C2039:'int_least16_t':is不是「全局命名空間」(SocketIO.cpp)的成員c:\ program files(x86)\ microsoft visual studio 11.0 \ vc \ include \ cstdint
錯誤4錯誤C2873:'int_least16_t':symbol can not be在使用聲明(SocketIO.cpp)中使用c:\ program files(x86)\ microsoft visual studio 11.0 \ vc \ include \ cstdint
有超過100個以上錯誤。
我正在使用Microsoft Visual Studio 2012 Express C++,並且一直未能想出或找到解決方案。
這並沒有解決問題。我添加了兩個作爲測試,因爲增加一個或其他原本並沒有解決這個問題,並暫時離開。 – OzBarry
你是不是深究''(也許包括頭部)以查看'int_least8_t'是否甚至定義在那裏?如果是這樣,我們將需要更多的代碼 - 包含在'.cpp'中的重要代碼可能會重現此問題。 –
它確實在cstdint中定義。我認爲主要的問題是boost和C++ cx在一起玩不好。 – OzBarry