alex_buz Ответов: 1

Невозможно преобразовать ‘время*’ до ‘PTIMEVAL {ака __МС_timeval, которая*}’


Получение этой ошибки во время компиляции wxWidgets для FileZilla на Windows10/MSYS2/Cygwin.

$ ./configure --prefix="$HOME/prefix" --enable-static --disable-shared --build=x86_64-w64-mingw32 --enable-unicode --without-libtiff --without-libjpeg --with-expat=builtin --with-libpng=builtin --disable-fsvolume



$ make

/home/alex_buz/wx3/bk-deps g++ -c -o netlib_socket.o -I./.pch/wxprec_netlib -D__WXMSW__      -DWXBUILDING    -I./src/png -I./src/zlib -I./src/regex -I./src/expat/lib -DwxUSE_GUI=0 -Wall -Wundef -Wunused-parameter -Wno-ctor-dtor-privacy -Woverloaded-virtual -D_FILE_OFFSET_BITS=64 -I/home/alex_buz/wx3/lib/wx/include/msw-unicode-static-3.0 -I./include -DWX_PRECOMP -O2 -fno-strict-aliasing  ./src/common/socket.cpp
./src/common/socket.cpp: In member function ‘wxSocketEventFlags 
wxSocketImpl::Select(wxSocketEventFlags, const timeval*)’:

./src/common/socket.cpp:1343:73: error: cannot convert ‘timeval*’ to ‘PTIMEVAL {aka __ms_timeval*}’ for argument ‘5’ to ‘int select(int, fd_set*, fd_set*, fd_set*, PTIMEVAL)’
     const int rc = select(m_fd + 1, preadfds, pwritefds, &exceptfds, &tv);
                                                                         ^
make: *** [Makefile:29796: netlib_socket.o] Error 1


Поиск Google дал некоторые намеки на то, что это связано с повышать.

Есть ли способ решить эту проблему?

Что я уже пробовал:

Погуглил и получил 2 точных попадания без ответов.

1 Ответов

Рейтинг:
1

KarstenK

Оба значения являются разными структурами, потому что члены имеют разные значения. тип Посмотрите на их код определения.

Вы не можете преобразовать их = & gt; сделать экземпляр и установить члены.