error: ‘_swprintf’ was not declared in this scope 解决办法
2013-11-08 22:33
821 查看
port visual studio c++ to linux gcc version. make 之后 遇到
LBFGSCPP.cpp: In member function ‘std::wstring ExceptionWithIflag::toString()’:
LBFGSCPP.cpp:42: error: ‘_swprintf’ was not declared in this scope
make: *** [LBFGSCPP.o] Error 1
_swprintf 在linux下不兼容,所以改用 swprintf(), 多了一个argument . maximum count
见http://msdn.microsoft.com/en-us/library/ybk95axf(v=vs.80).aspx
//#include "stdafx.h"
#include <stdio.h>
#include "./LBFGSCPP.h"
#include <math.h>
#include <sstream>
#include <iostream>
#include <string>
using namespace std;
ExceptionWithIflag::ExceptionWithIflag()
{
content = L"";
iflag = -1;
}
ExceptionWithIflag::ExceptionWithIflag( int i, wstring s )
{
content = s;
iflag = i;
}
ExceptionWithIflag::~ExceptionWithIflag()throw()
{
}
wstring ExceptionWithIflag::toString()
{
wchar_t szCause[255];
wstring strFormatted;
// _tcscpy(szCause, what());
//GetErrorMessage(szCause, 255);
// In real situations, it is
// appropriate to read this from
// a wstring resource so it would be easy to
// localize.
//strFormatted += szCause;
strFormatted += content;
wchar_t buff[256];
_swprintf(buff, L"(iflag == %d)", iflag);
//change to swprintf(buff, 256,L"(iflag == %d)", iflag) in linux
wstring str(buff);
strFormatted += str;
return strFormatted;
}
LBFGSCPP.cpp: In member function ‘std::wstring ExceptionWithIflag::toString()’:
LBFGSCPP.cpp:42: error: ‘_swprintf’ was not declared in this scope
make: *** [LBFGSCPP.o] Error 1
_swprintf 在linux下不兼容,所以改用 swprintf(), 多了一个argument . maximum count
见http://msdn.microsoft.com/en-us/library/ybk95axf(v=vs.80).aspx
//#include "stdafx.h"
#include <stdio.h>
#include "./LBFGSCPP.h"
#include <math.h>
#include <sstream>
#include <iostream>
#include <string>
using namespace std;
ExceptionWithIflag::ExceptionWithIflag()
{
content = L"";
iflag = -1;
}
ExceptionWithIflag::ExceptionWithIflag( int i, wstring s )
{
content = s;
iflag = i;
}
ExceptionWithIflag::~ExceptionWithIflag()throw()
{
}
wstring ExceptionWithIflag::toString()
{
wchar_t szCause[255];
wstring strFormatted;
// _tcscpy(szCause, what());
//GetErrorMessage(szCause, 255);
// In real situations, it is
// appropriate to read this from
// a wstring resource so it would be easy to
// localize.
//strFormatted += szCause;
strFormatted += content;
wchar_t buff[256];
_swprintf(buff, L"(iflag == %d)", iflag);
//change to swprintf(buff, 256,L"(iflag == %d)", iflag) in linux
wstring str(buff);
strFormatted += str;
return strFormatted;
}
相关文章推荐
- error: 'EOF' was not declared in this scope的解决办法
- error: 'EOF' was not declared in this scope的解决办法
- error: 'isinf' or 'isnan' or 'iserr' was not declared in this scope问题解决
- error: ‘alarm’ was not declared in this scope 解决
- 解决Cygwin编译cocos2dx 遇到的 error: 'UINT64_C' was not declared in this scope 问题
- [Error] 'exit' was not declared in this scope的解决方法
- error: ‘exit’ was not declared in this scope 的解决方法
- mingw32-make+cmake:error: 'nullptr' was not declared in this scope解决方法
- error: ‘exit’ was not declared in this scope 的解决方法
- 诸如'XXX' was not declared in this scope, undefined reference to `XXX'解决办法
- error: 'memcpy' was not declared in this scope的解决
- 解决问题 “error: `cout' was not declared in this scope”
- 安装fcgi时出现:error: ‘EOF’ was not declared in this scope解决方法
- error: ‘memcpy’ was not declared in this scope 解决
- error: ‘exit’ was not declared in this scope 的解决方法
- error: 'memcpy' was not declared in this scope的解决 [转]
- error: 'LOGE' was not declared in this scope
- error: ‘ULONG_MAX’ was not declared in this scope
- error: `cout' was not declared in this scope
- 【STL源码剖析】--error: ‘power’ was not declared in this scope