Hi,
We are trying to build version 1.41 of boost::filesystem on
vxworks 6.8 using windriver’s workbench, using gnu c++ compiler system version
4.1.2 and we are using the build configuration:
-D__VXWORKS__ -DBOOST_ASSERT_CONFIG
-DBOOST_PLATFORM_CONFIG=\"$(WS_ROOT_DIR)/ThirdParty/Boost/flir//vxworks-68.hpp\"
(We generated vxworks-68.hpp from 1.41’s
boost/config/platform/vxworks.hpp, and it appears below).
But, we are getting the compiler error:
C:/AccuRev/Boost/Boost_141_Vx_Port/ThirdParty/Boost/libs/filesystem/src/operations.cpp:62:30:
error: sys/statvfs.h: No such file or directory
Anyone see this problem? Got a solution?
Thanks,
Paul
Software
Engineer
FLIR
Systems, Inc.
27700
SW Parkway Ave.
Wilsonville,
OR 97070
Ph:
503.498.3069
Fx:
503.498.3910
vxworks-68.hpp follows:
// Taken from boost 1.41.0 version of the vxworks.hpp
platform file.
// Modified for use with VxWorks 6.8
// vxWorks specific config options:
#define BOOST_PLATFORM "vxWorks 6.8"
// disable wide char support
// we don't use it anyway
#define BOOST_NO_CWCHAR
#define BOOST_NO_INTRINSIC_WCHAR_T
#define BOOST_NO_STD_WSTRING // added for
6.8
#define
BOOST_NO_CWCTYPE // added for 6.8
#define BOOST_NO_STD_WSTREAMBUF // added for 6.8
#define
BOOST_NO_SWPRINTF // added for 6.8
// Strict ansi eliminates 64-bit integers -
#if defined(__GNUC__) && defined(__STRICT_ANSI__)
#define BOOST_NO_INT64_T
#warning - 64-bit integer support disabled.
#endif
// Header file inclusions
#define BOOST_HAS_UNISTD_H
// these allow posix_features to work, since vxWorks doesn't
// define them itself
//#ifndef _POSIX_TIMERS
//#define _POSIX_TIMERS 1
//#endif
//#ifndef _POSIX_THREADS
//#define _POSIX_THREADS 1
//#endif
// We use the posix schduler in priority mode
// #define _POSIX_PRIORITY_SCHEDULING
// vxworks doesn't work with asio serial ports
// TODO: verify this is still true in 6.8
#define BOOST_ASIO_DISABLE_SERIAL_PORT
// boilerplate code:
#include <boost/config/posix_features.hpp>