2016-07-31 5 views
0

Erhalte diesen Fehler während der Kompilierung von wxWidgets für FileZilla unter Windows10/MSYS2/Cygwin.'timeval *' kann nicht in 'PTIMEVAL {aka __ms_timeval *}' konvertiert werden

configure $ prefix = "$ HOME/Vorsilbe" --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-Suche gab einige Hinweise darauf, dass es in engen Zusammenhang steht zu steigern. Jeder Weg, um es zu lösen?

+0

Ich weiß nicht, warum das passiert, aber ich würde auf jeden Fall gegen die Verwendung von Cygwin nativen Compiler empfehlen, installieren Sie den nativen Compiler und verwenden Sie '--host = i686-w64-mingw32 --build = i686-pc "cygwin" wie in diesem [alten Blogbeitrag] erklärt (http://wxwidgets.blogspot.com/2011/06/choosing-gcc-for-building-wxwidgets.html). –

Antwort

0

Beide Werte sind unterschiedliche Strukturen, weil die Mitglieder von Typ unterschiedlich sind. Sehen Sie sich den Definitionscode von ihnen an.

Sie können sie nicht konvertieren => eine Instanz erstellen und die Mitglieder festlegen.

Verwandte Themen