Linux上で正常にビルドおよび実行されるMicrosoftVisualStudio2008に移植しているアプリケーションがあります。
時間ルーチンに問題があります。Linuxコードは次のようになります。
#include <sys/types.h>
#include <sys/time.h>
typedef long long Usec;
inline Usec timevalToUsec(const timeval &tv)
{
return (((Usec) tv.tv_sec) * 1000000) + ((Usec) tv.tv_usec);
}
しかし、コンパイラはsys/time.h
ヘッダーファイルで失敗します:
fatal error C1083: Cannot open include file:
'sys/time.h': No such file or directory
インクルードを変time.h
更すると、timevalが定義されていないという別のエラーが発生します。
error C4430: missing type specifier - int assumed.
Note: C++ does not support default-int
これは、timeval
定義されていないためです。
正しいのではtime.h
なく含めるのですか?そうであれば、Microsoft Visual Studio 2008の定義はどこで入手できますか?sys/time.h
struct timeval