powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / работа с сокетами eclipse+MinGW
17 сообщений из 17, страница 1 из 1
работа с сокетами eclipse+MinGW
    #39354248
Mari.P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дано:
необходимо udp-сервер, написанный на gcc портировать с Debian под Windows
для этого воспользовалась eclipse+MinGW. Сделала по инструкции:
https://habrahabr.ru/post/241133/
все компилируется, но не видит библиотеку сокетов при линковке.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
09:11:56 **** Incremental Build of configuration Debug for project udpsrv ****
Info: Internal Builder is used for build
g++ "-LC:\\MinGW\\lib" -o udpsrv.exe "src\\socket.o" "src\\main.o" "C:\\MinGW\\lib\\libwsock32.a" 
src\socket.o: In function `Z12setup_socketPi':
D:\prog\udpsrv\Debug/../src/socket.cpp:25: undefined reference to `socket'
src\socket.o: In function `Z17setup_sockaddr_inP11sockaddr_intPc':
D:\prog\udpsrv\Debug/../src/socket.cpp:48: undefined reference to `htons'
D:\prog\udpsrv\Debug/../src/socket.cpp:57: undefined reference to `htonl'
D:\prog\udpsrv\Debug/../src/socket.cpp:59: undefined reference to `inet_aton'
D:\prog\udpsrv\Debug/../src/socket.cpp:60: undefined reference to `_impure_ptr'
src\socket.o: In function `Z11bind_socketiP11sockaddr_in':
D:\prog\udpsrv\Debug/../src/socket.cpp:79: undefined reference to `bind'
D:\prog\udpsrv\Debug/../src/socket.cpp:80: undefined reference to `_impure_ptr'
src\socket.o: In function `Z13send_data_rawiPcjP11sockaddr_ini':
D:\prog\udpsrv\Debug/../src/socket.cpp:92: undefined reference to `sendto'
D:\prog\udpsrv\Debug/../src/socket.cpp:93: undefined reference to `_impure_ptr'
src\socket.o: In function `Z13recv_data_rawiPcPijP11sockaddr_ini':
D:\prog\udpsrv\Debug/../src/socket.cpp:108: undefined reference to `recvfrom'
D:\prog\udpsrv\Debug/../src/socket.cpp:109: undefined reference to `_impure_ptr'



Подскажите пожалуйста уважаемые профессионалы,
как помочь линковщику увидеть lib?
...
Рейтинг: 0 / 0
работа с сокетами eclipse+MinGW
    #39354252
m_Sla
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mari.P,

пробуй линкеру подсунуть
Код: plaintext
1.
-lwsock32
...
Рейтинг: 0 / 0
работа с сокетами eclipse+MinGW
    #39354267
Mari.P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m_Sla,
попробовала, вот что получилось:
Код: plaintext
1.
2.
3.
4.
Info: Internal Builder is used for build
g++ "-LC:\\MinGW\\lib" -o udpsrv.exe "src\\socket.o" "src\\main.o" "C:\\MinGW\\lib\\libws2_32.a" "C:\\MinGW\\lib\\libwsock32.a" 
src\socket.o: In function `Z12setup_socketPi':
D:\prog\udpsrv\Debug/../src/socket.cpp:25: undefined reference to `socket'



может не так что-то делаю?
...
Рейтинг: 0 / 0
работа с сокетами eclipse+MinGW
    #39354294
Mari.P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
Info: Internal Builder is used for build
g++ -o udpsrv.exe "src\\socket.o" "src\\main.o" "-lD:\\prog\\udpsrv\\src\\libws2_32.a" 
c:/mingw/bin/../lib/gcc/mingw32/5.3.0/../../../../mingw32/bin/ld.exe: cannot find -lD:\prog\udpsrv\src\libws2_32.a
collect2.exe: error: ld returned 1 exit status

11:36:43 Build Finished (took 1s.867ms)



Еще попробовала через Project->Properties->Libraries, тоже ошибка.
В Java Eclipse так все просто подключается, что же здесь не так?
...
Рейтинг: 0 / 0
работа с сокетами eclipse+MinGW
    #39354519
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mari.Pчто же здесь не так?
Инструкция. Выкиньте её к чёртовой матери вместе с eclipse. Просто в командной строке
сборки укажите -lws2_32.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
работа с сокетами eclipse+MinGW
    #39354525
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну или если не хотите выкидывать eclipse, просто добавьте библиотеку в список библиотек
без указания полного пути и префикса/суффикса.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
работа с сокетами eclipse+MinGW
    #39354621
Mari.P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov, спасибо за помощь. Удалось добавить в eclipse библиотеки, но
socket линковщик все равно не видит:
Код: plaintext
1.
2.
3.
4.
5.
g++ "-IC:\\MinGW\\msys\\1.0\\include" "-IC:\\MinGW\\msys\\1.0\\include\\sys" "-IC:\\MinGW\\msys\\1.0\\include\\arpa" -O0 -g3 -Wall -c -fmessage-length=0 -o "src\\socket.o" "..\\src\\socket.cpp" 
g++ "-LC:\\MinGW" -o udpsrv.exe "src\\socket.o" "src\\main.o" -lws2_32 -lwsock32 
src\socket.o: In function `Z12setup_socketPi':
D:\prog\udpsrv\Debug/../src/socket.cpp:26: undefined reference to `socket'
src\socket.o: In function `Z17setup_sockaddr_inP11sockaddr_intPc':



Под Debian на gcc у меня все работает нормально. Но тут вот срочно надо сделать простой UDP сервер, чтобы
обменяться пакетами с удаленным контроллером и исключить ошибки заводского ПО.
Сервер там Win2003, менять ничего там не могу, вот и пытаюсь быстренько приложение под Windows переделать, чтобы там запустить.

Если не в библиотеках -lws2_32 -lwsock32, то где этот socket еще может быть???

...
Рейтинг: 0 / 0
работа с сокетами eclipse+MinGW
    #39354626
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mari.PЕсли не в библиотеках -lws2_32 -lwsock32, то где этот socket еще может быть???

Нигде. Он там есть. Повторяю медленно: убирайте явные пути к библиотекам, поскольку они
могут быть неправильной разрядности.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
работа с сокетами eclipse+MinGW
    #39354939
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mari.PDimitry Sibiryakov, спасибо за помощь. Удалось добавить в eclipse библиотеки, но
socket линковщик все равно не видит:
Код: plaintext
1.
2.
3.
4.
5.
g++ "-IC:\\MinGW\\msys\\1.0\\include" "-IC:\\MinGW\\msys\\1.0\\include\\sys" "-IC:\\MinGW\\msys\\1.0\\include\\arpa" -O0 -g3 -Wall -c -fmessage-length=0 -o "src\\socket.o" "..\\src\\socket.cpp" 
g++ "-LC:\\MinGW" -o udpsrv.exe "src\\socket.o" "src\\main.o" -lws2_32 -lwsock32 
src\socket.o: In function `Z12setup_socketPi':
D:\prog\udpsrv\Debug/../src/socket.cpp:26: undefined reference to `socket'
src\socket.o: In function `Z17setup_sockaddr_inP11sockaddr_intPc':



Под Debian на gcc у меня все работает нормально. Но тут вот срочно надо сделать простой UDP сервер, чтобы
обменяться пакетами с удаленным контроллером и исключить ошибки заводского ПО.
Сервер там Win2003, менять ничего там не могу, вот и пытаюсь быстренько приложение под Windows переделать, чтобы там запустить.

Если не в библиотеках -lws2_32 -lwsock32, то где этот socket еще может быть???




а зачем его обязательно там запускать?
на дебиане и запусти этот готовый сервер.

или поставь Cygwin на винду, и в нем поставить готовый echo-сервер собранный.
код всяко тебе на фиг не нужен eclipse....
...
Рейтинг: 0 / 0
работа с сокетами eclipse+MinGW
    #39354940
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mari.P
Код: plaintext
1.
2.
3.
4.
5.
6.
Info: Internal Builder is used for build
g++ -o udpsrv.exe "src\\socket.o" "src\\main.o" "-lD:\\prog\\udpsrv\\src\\libws2_32.a" 
c:/mingw/bin/../lib/gcc/mingw32/5.3.0/../../../../mingw32/bin/ld.exe: cannot find -lD:\prog\udpsrv\src\libws2_32.a
collect2.exe: error: ld returned 1 exit status

11:36:43 Build Finished (took 1s.867ms)



Еще попробовала через Project->Properties->Libraries, тоже ошибка.
В Java Eclipse так все просто подключается, что же здесь не так?


ты кстати можешь даже этот самый udp клиент написать на Java, Или найти готовый и собрать/поставить, если тебе с Java легче.

не переставай себя...
...
Рейтинг: 0 / 0
работа с сокетами eclipse+MinGW
    #39354942
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mari.Pm_Sla,
попробовала, вот что получилось:
Код: plaintext
1.
2.
3.
4.
Info: Internal Builder is used for build
g++ "-LC:\\MinGW\\lib" -o udpsrv.exe "src\\socket.o" "src\\main.o" "C:\\MinGW\\lib\\libws2_32.a" "C:\\MinGW\\lib\\libwsock32.a" 
src\socket.o: In function `Z12setup_socketPi':
D:\prog\udpsrv\Debug/../src/socket.cpp:25: undefined reference to `socket'



может не так что-то делаю?

вместо опции

"C:\\MinGW\\lib\\libwsock32.a"

компилятору Надо указать

-lwsock32


как это делать в этом безумная эклибзе я лично не помню и даже знать не хочу.

собирай в command line, не используй эклибзе, никто тебе по нему ничего не подскажет...

в командной сроке

configure
make
make install

и все.


ну если не прокатит, пришли ссылку на проект, который ты хочешь собрать, или собирем, Или скажем, как.
...
Рейтинг: 0 / 0
работа с сокетами eclipse+MinGW
    #39355669
Mari.P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поняла, в чем дело.
в линуксе я говорила
Код: plaintext
1.
#include <socket.h>


а в windows надо сказать
Код: plaintext
1.
#include <winsock2.h>


все скомпилировалось, но работать не работает.
Видимо просто так перекинуть с линукса на windows проект не получится.
В связи с этим вопрос,
Вы все ругаете eclipse CDT, подскажите пожалуйста уважаемые профессионалы среду разработки
бесплатную, где можно быстренько тестовый UDP сервер сделать на c++.
На Jave писать не могу, тк на сервер Java-машину ставить не разрешают,
те можно только exe-шник запустить.
Совершенно ерундовая программа, которая ловит задачу авторизации
от контроллера на порту UDP XXX, посылает запрос заводского номера контроллера
и получает его. Мне надо исключить глюк заводского софта.
...
Рейтинг: 0 / 0
работа с сокетами eclipse+MinGW
    #39355673
m_Sla
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mari.P,
у меня CodeBlocks с mingw
вот этот пример http://www.binarytides.com/udp-socket-programming-in-winsock/ собирается без проблем, линкеру дополнительно прописал -lws2_32

попробуй Qt, но там основы надо изучать
...
Рейтинг: 0 / 0
работа с сокетами eclipse+MinGW
    #39355696
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mari.PПоняла, в чем дело.
в линуксе я говорила
Код: plaintext
1.
#include <socket.h>


а в windows надо сказать
Код: plaintext
1.
#include <winsock2.h>

все скомпилировалось, но работать не работает.
Видимо просто так перекинуть с линукса на windows проект не получится.
Еще WSAStartup() надо не забыть. Если не работает, то смотреть ошибки через WSAGetLastError()

Mari.PВ связи с этим вопрос,
Вы все ругаете eclipse CDT, подскажите пожалуйста уважаемые профессионалы среду разработки
бесплатную, где можно быстренько тестовый UDP сервер сделать на c++.
На Jave писать не могу, тк на сервер Java-машину ставить не разрешают,
те можно только exe-шник запустить.
Совершенно ерундовая программа, которая ловит задачу авторизации
от контроллера на порту UDP XXX, посылает запрос заводского номера контроллера
и получает его. Мне надо исключить глюк заводского софта.
На С/С++ с нуля написать. Можно на C#.
...
Рейтинг: 0 / 0
работа с сокетами eclipse+MinGW
    #39355749
Mari.P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо большое уважаемые профессионалы за помощь.
скачала себе MS Visual Studio Express 2013,
написала все заново по вот этой статье:
http://www.softzenware.com/visual/visual16.html
и заработало без проблем с первого раза.
Eclipse CDT видимо слишком сложен для моего слабого ума .
...
Рейтинг: 0 / 0
работа с сокетами eclipse+MinGW
    #39356211
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mari.PНа Jave писать не могу, тк на сервер Java-машину ставить не разрешают,
те можно только exe-шник запустить.


А кто ж тебя заставляет его обязательно на том же хосте запускать ?
Запускай на другом... На другой машине, где есть Java, и где ты всё можешь делать.
...
Рейтинг: 0 / 0
работа с сокетами eclipse+MinGW
    #39356215
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mari.PEclipse CDT видимо слишком сложен для моего слабого ума .

Он был видимо слишком сложен для мозгов его разработчиков в первую очередь...
Короче, VC получше вариант для тебя.
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / работа с сокетами eclipse+MinGW
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]