Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

C++, boost - undefined reference to WSACleanup@0

MES Mariusz 05 Kwi 2016 17:08 1164 14
  • #2 05 Kwi 2016 19:23
    vonar
    Poziom 28  

    Załączyłbyś pełny log kompilacji zamiast tego filmu...

    Boost::asio na Windows wykorzystuje winsock, linkujesz z ws2_32 (ew. wsock32)?

    0
  • #3 05 Kwi 2016 20:50
    MES Mariusz
    Poziom 36  

    vonar napisał:
    Załączyłbyś pełny log kompilacji zamiast tego filmu...



    Build Log:

    Code:
    -------------- Build: Debug in COM_read_with_timeout (compiler: GNU GCC Compiler)---------------
    

    mingw32-g++.exe -LD:\Mariusz\Zapisane\Programowanie\boost_1_60_0\stage\lib -o bin\Debug\COM_read_with_timeout.exe obj\Debug\main.o   ..\boost_1_60_0\stage\lib\libboost_system-mgw47-mt-d-1_60.a
    obj\Debug\main.o: In function `ZN5boost4asio6detail17winsock_init_base7startupERNS2_4dataEhh':
    c:/program files (x86)/codeblocks/mingw/bin/../lib/gcc/mingw32/4.7.1/../../../../include/boost/asio/detail/impl/winsock_init.ipp:39: undefined reference to `WSAStartup@8'
    obj\Debug\main.o: In function `ZN5boost4asio6detail17winsock_init_base7cleanupERNS2_4dataE':
    c:/program files (x86)/codeblocks/mingw/bin/../lib/gcc/mingw32/4.7.1/../../../../include/boost/asio/detail/impl/winsock_init.ipp:56: undefined reference to `WSACleanup@0'
    c:/program files (x86)/codeblocks/mingw/bin/../lib/gcc/mingw32/4.7.1/../../../libmingw32.a(main.o):main.c:(.text.startup+0xa7): undefined reference to `WinMain@16'
    collect2.exe: error: ld returned 1 exit status
    Process terminated with status 1 (0 minute(s), 0 second(s))
    3 error(s), 0 warning(s) (0 minute(s), 0 second(s))



    Build messages:

    Code:
    ||=== Build: Debug in COM_read_with_timeout (compiler: GNU GCC Compiler) ===|
    
    obj\Debug\main.o||In function `ZN5boost4asio6detail17winsock_init_base7startupERNS2_4dataEhh':|
    c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\..\..\..\..\include\boost\asio\detail\impl\winsock_init.ipp|39|undefined reference to `WSAStartup@8'|
    obj\Debug\main.o||In function `ZN5boost4asio6detail17winsock_init_base7cleanupERNS2_4dataE':|
    c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\..\..\..\..\include\boost\asio\detail\impl\winsock_init.ipp|56|undefined reference to `WSACleanup@0'|
    c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\..\..\..\libmingw32.a(main.o):main.c:(.text.startup+0xa7)||undefined reference to `WinMain@16'|
    ||=== Build failed: 3 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|



    vonar napisał:
    Boost::asio na Windows wykorzystuje winsock, linkujesz z ws2_32 (ew. wsock32)?






    Hmm... Lista libów, które się zbudowały (gdy kompilowałem biblioteki boost-a):

    Code:
     Directory of d:\Mariusz\Zapisane\Programowanie\boost_1_60_0\stage\lib
    

    2016-04-05  20:47    <DIR>          .
    2016-04-05  20:47    <DIR>          ..
    2016-04-04  08:07             1˙414 libboost_atomic-mgw47-mt-1_60.a
    2016-04-04  07:55             9˙138 libboost_atomic-mgw47-mt-d-1_60.a
    2016-04-04  08:07            89˙700 libboost_chrono-mgw47-mt-1_60.a
    2016-04-04  07:55           450˙834 libboost_chrono-mgw47-mt-d-1_60.a
    2016-04-04  08:08           104˙468 libboost_container-mgw47-mt-1_60.a
    2016-04-04  07:55           434˙412 libboost_container-mgw47-mt-d-1_60.a
    2016-04-04  08:08            65˙970 libboost_context-mgw47-mt-1_60.a
    2016-04-04  07:55           307˙636 libboost_context-mgw47-mt-d-1_60.a
    2016-04-04  08:08            77˙998 libboost_coroutine-mgw47-mt-1_60.a
    2016-04-04  07:55           371˙378 libboost_coroutine-mgw47-mt-d-1_60.a
    2016-04-04  08:08           118˙948 libboost_date_time-mgw47-mt-1_60.a
    2016-04-04  07:55           579˙558 libboost_date_time-mgw47-mt-d-1_60.a
    2016-04-04  08:08               800 libboost_exception-mgw47-mt-1_60.a
    2016-04-04  07:55             3˙094 libboost_exception-mgw47-mt-d-1_60.a
    2016-04-04  08:08           191˙880 libboost_filesystem-mgw47-mt-1_60.a
    2016-04-04  07:56         1˙094˙082 libboost_filesystem-mgw47-mt-d-1_60.a
    2016-04-04  08:09         1˙057˙022 libboost_graph-mgw47-mt-1_60.a
    2016-04-04  07:56         7˙953˙566 libboost_graph-mgw47-mt-d-1_60.a
    2016-04-04  08:09           117˙044 libboost_iostreams-mgw47-mt-1_60.a
    2016-04-04  07:56           454˙048 libboost_iostreams-mgw47-mt-d-1_60.a
    2016-04-04  08:09         1˙600˙266 libboost_locale-mgw47-mt-1_60.a
    2016-04-04  07:57         8˙069˙440 libboost_locale-mgw47-mt-d-1_60.a
    2016-04-04  08:11         2˙533˙334 libboost_log-mgw47-mt-1_60.a
    2016-04-04  07:58        21˙478˙752 libboost_log-mgw47-mt-d-1_60.a
    2016-04-04  08:12         3˙060˙310 libboost_log_setup-mgw47-mt-1_60.a
    2016-04-04  08:00        30˙375˙598 libboost_log_setup-mgw47-mt-d-1_60.a
    2016-04-04  08:16           512˙874 libboost_math_c99-mgw47-mt-1_60.a
    2016-04-04  08:03         3˙339˙718 libboost_math_c99-mgw47-mt-d-1_60.a
    2016-04-04  08:16           208˙192 libboost_math_c99f-mgw47-mt-1_60.a
    2016-04-04  08:04         2˙300˙380 libboost_math_c99f-mgw47-mt-d-1_60.a
    2016-04-04  08:17           602˙156 libboost_math_c99l-mgw47-mt-1_60.a
    2016-04-04  08:04         3˙845˙256 libboost_math_c99l-mgw47-mt-d-1_60.a
    2016-04-04  08:13         4˙462˙066 libboost_math_tr1-mgw47-mt-1_60.a
    2016-04-04  08:01        21˙753˙292 libboost_math_tr1-mgw47-mt-d-1_60.a
    2016-04-04  08:14         4˙293˙104 libboost_math_tr1f-mgw47-mt-1_60.a
    2016-04-04  08:02        22˙418˙976 libboost_math_tr1f-mgw47-mt-d-1_60.a
    2016-04-04  08:15         4˙442˙324 libboost_math_tr1l-mgw47-mt-1_60.a
    2016-04-04  08:03        21˙401˙564 libboost_math_tr1l-mgw47-mt-d-1_60.a
    2016-04-04  08:18            58˙902 libboost_prg_exec_monitor-mgw47-mt-1_60.a
    2016-04-04  08:06           427˙600 libboost_prg_exec_monitor-mgw47-mt-d-1_60.a
    2016-04-04  08:17         1˙157˙916 libboost_program_options-mgw47-mt-1_60.a
    2016-04-04  08:05         7˙383˙404 libboost_program_options-mgw47-mt-d-1_60.a
    2016-04-04  08:18           544˙794 libboost_python-mgw47-mt-1_60.a
    2016-04-04  08:05         7˙966˙506 libboost_python-mgw47-mt-d-1_60.a
    2016-04-04  08:18            31˙860 libboost_random-mgw47-mt-1_60.a
    2016-04-04  08:05           122˙208 libboost_random-mgw47-mt-d-1_60.a
    2016-04-04  08:09         1˙575˙028 libboost_regex-mgw47-mt-1_60.a
    2016-04-04  07:56         9˙455˙496 libboost_regex-mgw47-mt-d-1_60.a
    2016-04-04  08:18         1˙091˙468 libboost_serialization-mgw47-mt-1_60.a
    2016-04-04  08:06        10˙744˙578 libboost_serialization-mgw47-mt-d-1_60.a
    2016-04-04  08:18           179˙630 libboost_signals-mgw47-mt-1_60.a
    2016-04-04  08:06         1˙436˙962 libboost_signals-mgw47-mt-d-1_60.a
    2016-04-04  08:07            16˙834 libboost_system-mgw47-mt-1_60.a
    2016-04-04  07:55            69˙098 libboost_system-mgw47-mt-d-1_60.a
    2016-04-04  08:19         1˙883˙178 libboost_test_exec_monitor-mgw47-mt-1_60.a
    2016-04-04  08:07        13˙579˙894 libboost_test_exec_monitor-mgw47-mt-d-1_60.a
    2016-04-04  08:08           254˙592 libboost_thread-mgw47-mt-1_60.a
    2016-04-04  07:55         1˙482˙204 libboost_thread-mgw47-mt-d-1_60.a
    2016-04-04  08:18            18˙132 libboost_timer-mgw47-mt-1_60.a
    2016-04-04  08:06           115˙968 libboost_timer-mgw47-mt-d-1_60.a
    2016-04-04  08:19           147˙766 libboost_type_erasure-mgw47-mt-1_60.a
    2016-04-04  08:07           830˙746 libboost_type_erasure-mgw47-mt-d-1_60.a
    2016-04-04  08:19         1˙861˙512 libboost_unit_test_framework-mgw47-mt-1_60.a
    2016-04-04  08:07        13˙291˙736 libboost_unit_test_framework-mgw47-mt-d-1_60.a
    2016-04-04  08:20         5˙092˙582 libboost_wave-mgw47-mt-1_60.a
    2016-04-04  08:07        50˙962˙046 libboost_wave-mgw47-mt-d-1_60.a
    2016-04-04  08:18           818˙910 libboost_wserialization-mgw47-mt-1_60.a
    2016-04-04  08:06         8˙187˙294 libboost_wserialization-mgw47-mt-d-1_60.a
    2016-04-05  20:47                 0 liblist.txt
                  69 File(s)    310˙969˙436 bytes
                   2 Dir(s)  178˙302˙373˙888 bytes free


    Plus to, co było razem z boost-em a kompilacji nie wymagało.

    0
  • Pomocny post
    #4 05 Kwi 2016 21:05
    vonar
    Poziom 28  

    Brakuje linkowania programu z systemową biblioteką Winsock.
    W Code::Blocks: Build options... -> Linker settings -> Link libraries -> Add... ws2_32.

    0
  • #5 05 Kwi 2016 21:24
    MES Mariusz
    Poziom 36  

    vonar napisał:
    Brakuje linkowania programu z systemową biblioteką Winsock.
    W Code::Blocks: Build options... -> Linker settings -> Link libraries -> Add... ws2_32.


    Dodałem:

    C++, boost - undefined reference to WSACleanup@0

    Ale dalej coś nie jest halo:

    Build messages:

    Code:
    ||=== Build: Debug in COM_read_with_timeout (compiler: GNU GCC Compiler) ===|
    
    ||Warning: resolving _WSAStartup@8 by linking to _WSAStartup|
    ||Warning: resolving _WSACleanup@0 by linking to _WSACleanup|
    c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\..\..\..\libmingw32.a(main.o):main.c:(.text.startup+0xa7)||undefined reference to `WinMain@16'|
    ||=== Build failed: 1 error(s), 2 warning(s) (0 minute(s), 0 second(s)) ===|



    Build log:

    Code:

    -------------- Build: Debug in COM_read_with_timeout (compiler: GNU GCC Compiler)---------------

    mingw32-g++.exe -LD:\Mariusz\Zapisane\Programowanie\boost_1_60_0\stage\lib -o bin\Debug\COM_read_with_timeout.exe obj\Debug\main.o   ..\boost_1_60_0\stage\lib\libboost_system-mgw47-mt-d-1_60.a C:\Windows\System32\ws2_32.dll
    Warning: resolving _WSAStartup@8 by linking to _WSAStartup
    Use --enable-stdcall-fixup to disable these warnings
    Use --disable-stdcall-fixup to disable these fixups
    Warning: resolving _WSACleanup@0 by linking to _WSACleanup
    c:/program files (x86)/codeblocks/mingw/bin/../lib/gcc/mingw32/4.7.1/../../../libmingw32.a(main.o):main.c:(.text.startup+0xa7): undefined reference to `WinMain@16'
    collect2.exe: error: ld returned 1 exit status
    Process terminated with status 1 (0 minute(s), 0 second(s))
    1 error(s), 2 warning(s) (0 minute(s), 0 second(s))


    Hmm... Swoją drogą zastanawiam się, czy nie da się tak zrobić, by CB sam sobie przeszukiwał c:\Windows\System32.

    0
  • #6 05 Kwi 2016 21:55
    vonar
    Poziom 28  

    Pisałem gdzieś o dll? ;]
    ws2_32. Tyle. Żadnej ścieżki.

    MES Mariusz napisał:
    Swoją drogą zastanawiam się, czy nie da się tak zrobić, by CB sam sobie przeszukiwał c:\Windows\System32.

    GCC normalnie i tak potrzebuje odpowiednich plików .a, a te standardowo potrzebne MinGW ma już w swoim folderze lib.

    0
  • #7 05 Kwi 2016 22:02
    MES Mariusz
    Poziom 36  

    vonar napisał:
    Pisałem gdzieś o dll?
    ws2_32. Tyle. Żadnej ścieżki.

    MES Mariusz napisał:
    Swoją drogą zastanawiam się, czy nie da się tak zrobić, by CB sam sobie przeszukiwał c:\Windows\System32.

    To bezcelowe, gcc i tak potrzebuje plików .a. Wszystkie standardowo potrzebne MinGW ma już w swoim folderze lib.


    Zmieniłem:

    C++, boost - undefined reference to WSACleanup@0


    Teraz:

    Build messages:

    Code:
    ||=== Build: Debug in COM_read_with_timeout (compiler: GNU GCC Compiler) ===|
    
    c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\..\..\..\libmingw32.a(main.o):main.c:(.text.startup+0xa7)||undefined reference to `WinMain@16'|
    ||=== Build failed: 1 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|



    Build log:

    Code:

    -------------- Build: Debug in COM_read_with_timeout (compiler: GNU GCC Compiler)---------------

    mingw32-g++.exe -LD:\Mariusz\Zapisane\Programowanie\boost_1_60_0\stage\lib -o bin\Debug\COM_read_with_timeout.exe obj\Debug\main.o   ..\boost_1_60_0\stage\lib\libboost_system-mgw47-mt-d-1_60.a -lws2_32
    c:/program files (x86)/codeblocks/mingw/bin/../lib/gcc/mingw32/4.7.1/../../../libmingw32.a(main.o):main.c:(.text.startup+0xa7): undefined reference to `WinMain@16'
    collect2.exe: error: ld returned 1 exit status
    Process terminated with status 1 (0 minute(s), 0 second(s))
    1 error(s), 0 warning(s) (0 minute(s), 0 second(s))

    0
  • #8 05 Kwi 2016 22:03
    vonar
    Poziom 28  

    Hmm... brakuje main? Pokaż no kod.

    0
  • #9 05 Kwi 2016 22:08
    MES Mariusz
    Poziom 36  

    vonar napisał:
    Hmm... brakuje main? Pokaż no kod.


    Faktycznie, jakby main-a to nie było... Wziąłem pierwszy kod ze strony: http://www.ridgesolutions.ie/index.php/2012/1...-read-from-serial-port-with-timeout-example/,, by sprawdzić, czy biblioteki boost działają mi poprawnie (by sprawdzić, czy kod się skompiluje).

    A później planuję krok po kroku pisać soft obsługujący urządzenie po UART.

    0
  • #10 05 Kwi 2016 22:10
    vonar
    Poziom 28  

    To już linkowałeś, ale to tylko parę funkcji. Chodziło mi o rzeczywisty kod projektu, z funkcją main.

    0
  • #11 05 Kwi 2016 22:16
    MES Mariusz
    Poziom 36  

    vonar napisał:
    To już linkowałeś, ale to tylko parę funkcji. Chodziło mi o rzeczywisty kod projektu, z funkcją main.

    Jeszcze nie powstał (stąd zamieszanie). Jak napisałem wcześniej - chciałem najpierw sprawdzić, czy (skompilowane dzień wcześniej) biblioteki boost działają. I w tym ferworze, przeklejając pierwszy napotkany, przykładowy kod wykorzystujący boost i obsługujący COM nie spojrzałem na zawartość kodu. Teraz widzę, że to tylko parę funkcji. Sorki, za zamieszanie. Ale tak czy siak z tym ws2_32 przy okazji problem się rozwiązał. Dzięki.

    Poniższy kod nie robi za wiele:
    Kod: c
    Zaloguj się, aby zobaczyć kod


    Ale przynajmniej widać, że już wszystko się kompiluje poprawnie :-)


    Build.log

    Code:

    -------------- Build: Debug in COM_read_with_timeout (compiler: GNU GCC Compiler)---------------

    Target is up to date.
    Nothing to be done (all items are up-to-date).


    -------------- Run: Debug in COM_read_with_timeout (compiler: GNU GCC Compiler)---------------

    Checking for existence: D:\Mariusz\Zapisane\Programowanie\COM_read_with_timeout\bin\Debug\COM_read_with_timeout.exe
    Executing: "C:\Program Files (x86)\CodeBlocks/cb_console_runner.exe" "D:\Mariusz\Zapisane\Programowanie\COM_read_with_timeout\bin\Debug\COM_read_with_timeout.exe"  (in D:\Mariusz\Zapisane\Programowanie\COM_read_with_timeout\.)
    Process terminated with status 0 (0 minute(s), 1 second(s))



    Build messages:

    Code:
    ||=== Build: Debug in COM_read_with_timeout (compiler: GNU GCC Compiler) ===|
    
    c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\..\..\..\..\include\boost\asio\detail\config.hpp|566|warning: #warning Please define _WIN32_WINNT or _WIN32_WINDOWS appropriately. [-Wcpp]|
    c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\..\..\..\..\include\boost\asio\detail\config.hpp|567|warning: #warning For example, add -D_WIN32_WINNT=0x0501 to the compiler command line. [-Wcpp]|
    c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\..\..\..\..\include\boost\asio\detail\config.hpp|568|warning: #warning Assuming _WIN32_WINNT=0x0501 (i.e. Windows XP target). [-Wcpp]|
    ||=== Build finished: 0 error(s), 3 warning(s) (0 minute(s), 2 second(s)) ===|
    ||=== Run: Debug in COM_read_with_timeout (compiler: GNU GCC Compiler) ===

    0
  • #12 06 Kwi 2016 06:59
    MES Mariusz
    Poziom 36  

    Miałbym ostatnie pytanko. O ile kod:

    Kod: c
    Zaloguj się, aby zobaczyć kod


    działa zgodnie z sugestią autora, o tyle następny już kod nie chce się kompilować:

    Kod: c
    Zaloguj się, aby zobaczyć kod



    Z tym coś jest nie tak:
    Kod: c
    Zaloguj się, aby zobaczyć kod



    Build messages:

    Code:
    ||=== Build: Debug in COM_read_with_timeout_second_code (compiler: GNU GCC Compiler) ===|
    
    c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\..\..\..\..\include\boost\asio\detail\config.hpp|566|warning: #warning Please define _WIN32_WINNT or _WIN32_WINDOWS appropriately. [-Wcpp]|
    c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\..\..\..\..\include\boost\asio\detail\config.hpp|567|warning: #warning For example, add -D_WIN32_WINNT=0x0501 to the compiler command line. [-Wcpp]|
    c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\..\..\..\..\include\boost\asio\detail\config.hpp|568|warning: #warning Assuming _WIN32_WINNT=0x0501 (i.e. Windows XP target). [-Wcpp]|
    D:\Mariusz\Zapisane\Programowanie\COM_read_with_timeout_second_code\main.cpp||In function 'std::string read_response()':|
    D:\Mariusz\Zapisane\Programowanie\COM_read_with_timeout_second_code\main.cpp|33|error: no matching function for call to 'std::exception::exception(const char [16])'|
    D:\Mariusz\Zapisane\Programowanie\COM_read_with_timeout_second_code\main.cpp|33|note: candidates are:|
    c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\include\c++\exception|65|note: std::exception::exception()|
    c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\include\c++\exception|65|note:   candidate expects 0 arguments, 1 provided|
    c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\include\c++\exception|62|note: std::exception::exception(const std::exception&)|
    c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\include\c++\exception|62|note:   no known conversion for argument 1 from 'const char [16]' to 'const std::exception&'|
    ||=== Build failed: 1 error(s), 3 warning(s) (0 minute(s), 1 second(s)) ===|



    Build log:

    Code:

    -------------- Build: Debug in COM_read_with_timeout_second_code (compiler: GNU GCC Compiler)---------------

    mingw32-g++.exe -Wall -fexceptions -g  -c D:\Mariusz\Zapisane\Programowanie\COM_read_with_timeout_second_code\main.cpp -o obj\Debug\main.o
    In file included from c:\program files (x86)\codeblocks\mingw\bin\../lib/gcc/mingw32/4.7.1/../../../../include/boost/asio/serial_port.hpp:19:0,
                     from D:\Mariusz\Zapisane\Programowanie\COM_read_with_timeout_second_code\main.cpp:3:
    c:\program files (x86)\codeblocks\mingw\bin\../lib/gcc/mingw32/4.7.1/../../../../include/boost/asio/detail/config.hpp:566:5: warning: #warning Please define _WIN32_WINNT or _WIN32_WINDOWS appropriately. [-Wcpp]
    c:\program files (x86)\codeblocks\mingw\bin\../lib/gcc/mingw32/4.7.1/../../../../include/boost/asio/detail/config.hpp:567:5: warning: #warning For example, add -D_WIN32_WINNT=0x0501 to the compiler command line. [-Wcpp]
    c:\program files (x86)\codeblocks\mingw\bin\../lib/gcc/mingw32/4.7.1/../../../../include/boost/asio/detail/config.hpp:568:5: warning: #warning Assuming _WIN32_WINNT=0x0501 (i.e. Windows XP target). [-Wcpp]
    D:\Mariusz\Zapisane\Programowanie\COM_read_with_timeout_second_code\main.cpp: In function 'std::string read_response()':
    D:\Mariusz\Zapisane\Programowanie\COM_read_with_timeout_second_code\main.cpp:33:41: error: no matching function for call to 'std::exception::exception(const char [16])'
    D:\Mariusz\Zapisane\Programowanie\COM_read_with_timeout_second_code\main.cpp:33:41: note: candidates are:
    In file included from c:\program files (x86)\codeblocks\mingw\bin\../lib/gcc/mingw32/4.7.1/include/c++/new:42:0,
                     from c:\program files (x86)\codeblocks\mingw\bin\../lib/gcc/mingw32/4.7.1/include/c++/ext/new_allocator.h:34,
                     from c:\program files (x86)\codeblocks\mingw\bin\../lib/gcc/mingw32/4.7.1/include/c++/mingw32/bits/c++allocator.h:34,
                     from c:\program files (x86)\codeblocks\mingw\bin\../lib/gcc/mingw32/4.7.1/include/c++/bits/allocator.h:48,
                     from c:\program files (x86)\codeblocks\mingw\bin\../lib/gcc/mingw32/4.7.1/include/c++/string:43,
                     from D:\Mariusz\Zapisane\Programowanie\COM_read_with_timeout_second_code\main.cpp:1:
    c:\program files (x86)\codeblocks\mingw\bin\../lib/gcc/mingw32/4.7.1/include/c++/exception:65:5: note: std::exception::exception()
    c:\program files (x86)\codeblocks\mingw\bin\../lib/gcc/mingw32/4.7.1/include/c++/exception:65:5: note:   candidate expects 0 arguments, 1 provided
    c:\program files (x86)\codeblocks\mingw\bin\../lib/gcc/mingw32/4.7.1/include/c++/exception:62:9: note: std::exception::exception(const std::exception&)
    c:\program files (x86)\codeblocks\mingw\bin\../lib/gcc/mingw32/4.7.1/include/c++/exception:62:9: note:   no known conversion for argument 1 from 'const char [16]' to 'const std::exception&'
    Process terminated with status 1 (0 minute(s), 1 second(s))
    1 error(s), 3 warning(s) (0 minute(s), 1 second(s))

    0
  • #14 06 Kwi 2016 12:23
    MES Mariusz
    Poziom 36  

    vonar napisał:
    Brakuje nagłówka <exception>.


    Bez efektu:

    Kod:

    Kod: c
    Zaloguj się, aby zobaczyć kod


    Build log:

    Code:

    -------------- Build: Debug in COM_read_with_timeout_second_code (compiler: GNU GCC Compiler)---------------

    mingw32-g++.exe -Wall -fexceptions -g  -c D:\Mariusz\Zapisane\Programowanie\COM_read_with_timeout_second_code\main.cpp -o obj\Debug\main.o
    In file included from c:\program files (x86)\codeblocks\mingw\bin\../lib/gcc/mingw32/4.7.1/../../../../include/boost/asio/serial_port.hpp:19:0,
                     from D:\Mariusz\Zapisane\Programowanie\COM_read_with_timeout_second_code\main.cpp:4:
    c:\program files (x86)\codeblocks\mingw\bin\../lib/gcc/mingw32/4.7.1/../../../../include/boost/asio/detail/config.hpp:566:5: warning: #warning Please define _WIN32_WINNT or _WIN32_WINDOWS appropriately. [-Wcpp]
    c:\program files (x86)\codeblocks\mingw\bin\../lib/gcc/mingw32/4.7.1/../../../../include/boost/asio/detail/config.hpp:567:5: warning: #warning For example, add -D_WIN32_WINNT=0x0501 to the compiler command line. [-Wcpp]
    c:\program files (x86)\codeblocks\mingw\bin\../lib/gcc/mingw32/4.7.1/../../../../include/boost/asio/detail/config.hpp:568:5: warning: #warning Assuming _WIN32_WINNT=0x0501 (i.e. Windows XP target). [-Wcpp]
    D:\Mariusz\Zapisane\Programowanie\COM_read_with_timeout_second_code\main.cpp: In function 'std::string read_response()':
    D:\Mariusz\Zapisane\Programowanie\COM_read_with_timeout_second_code\main.cpp:34:41: error: no matching function for call to 'std::exception::exception(const char [16])'
    D:\Mariusz\Zapisane\Programowanie\COM_read_with_timeout_second_code\main.cpp:34:41: note: candidates are:
    In file included from c:\program files (x86)\codeblocks\mingw\bin\../lib/gcc/mingw32/4.7.1/include/c++/new:42:0,
                     from c:\program files (x86)\codeblocks\mingw\bin\../lib/gcc/mingw32/4.7.1/include/c++/ext/new_allocator.h:34,
                     from c:\program files (x86)\codeblocks\mingw\bin\../lib/gcc/mingw32/4.7.1/include/c++/mingw32/bits/c++allocator.h:34,
                     from c:\program files (x86)\codeblocks\mingw\bin\../lib/gcc/mingw32/4.7.1/include/c++/bits/allocator.h:48,
                     from c:\program files (x86)\codeblocks\mingw\bin\../lib/gcc/mingw32/4.7.1/include/c++/string:43,
                     from D:\Mariusz\Zapisane\Programowanie\COM_read_with_timeout_second_code\main.cpp:1:
    c:\program files (x86)\codeblocks\mingw\bin\../lib/gcc/mingw32/4.7.1/include/c++/exception:65:5: note: std::exception::exception()
    c:\program files (x86)\codeblocks\mingw\bin\../lib/gcc/mingw32/4.7.1/include/c++/exception:65:5: note:   candidate expects 0 arguments, 1 provided
    c:\program files (x86)\codeblocks\mingw\bin\../lib/gcc/mingw32/4.7.1/include/c++/exception:62:9: note: std::exception::exception(const std::exception&)
    c:\program files (x86)\codeblocks\mingw\bin\../lib/gcc/mingw32/4.7.1/include/c++/exception:62:9: note:   no known conversion for argument 1 from 'const char [16]' to 'const std::exception&'
    Process terminated with status 1 (0 minute(s), 1 second(s))
    1 error(s), 3 warning(s) (0 minute(s), 1 second(s))

    0
  • #15 06 Kwi 2016 12:53
    vonar
    Poziom 28  

    No tak, rzeczywiście, przecież to było bazowe std::exception, które nie ma takiego konstruktora. Tam powinien być std::runtime_error lub jakiś własny typ pochodny.

    0