PDA

View Full Version : c++



m.fazelsabzalipoor
چهارشنبه 03 مهر 1398, 15:52 عصر
سلام مدتی دارم روی سوکت پروگرمینگ کار میکنم درC++‎‎‎سورس فایل کلینت رو نوشتم ولی یه مشکلی هست وقتی کامپایل میکنم C:\Users\gh&f\AppData\Local\Temp\ccSon8Sg.ointerne t.cpp:(.text+0x64): undefined reference to `__imp_inet_addr'

این ارورو میده فکر میکنم باید کتابخونه ws_32.lib رواضافه کنم تا حل شه ولی نمیدونم چطور خواهش میکنم کمکم کنید بدجورگیرکردم ممنون

farhad_shiri_ex
چهارشنبه 03 مهر 1398, 16:33 عصر
سلام مدتی دارم روی سوکت پروگرمینگ کار میکنم درC++‎‎‎‎سورس فایل کلینت رو نوشتم ولی یه مشکلی هست وقتی کامپایل میکنم C:\Users\gh&f\AppData\Local\Temp\ccSon8Sg.ointerne t.cpp:(.text+0x64): undefined reference to `__imp_inet_addr'

این ارورو میده فکر میکنم باید کتابخونه ws_32.lib رواضافه کنم تا حل شه ولی نمیدونم چطور خواهش میکنم کمکم کنید بدجورگیرکردم ممنون

بهتر بود قسمتی که سوکت را open & declare میکنید را قرار میداید تا بهتر راهنمایی بشید!
ولی این پیغام مبنی براین هست که نمی تونه به این ماکرو
`__imp_inet_addr دسترسی داشته باشه!
در سایت iostream.ir دراین بخش <http://bit.ly/2ltWh2G> در حال نوشتن مستنداتی راجع به سوکت پروگرمینگ هستم پیشنهاد میکنم مطالعه کنید.!

m.fazelsabzalipoor
چهارشنبه 03 مهر 1398, 17:10 عصر
ممنون از راهنماییتون سوال منم همینه چرا به این تابع دسرسی نداره
کامپیلر برام خطای نحوی نمیگیره ولی رانم نمیتونم بکنم

("recSin.sin_addr.S_un.S_addr=inet_addr("185.41.2.7
;recSin.sin_family=AF_INET
;(recSin.sin_port=htons(3490
;(memset(&(recSin.sin_zero),'\0',8
;(wVersionRequested=MAKEWORD(2,0
;((if(WSAStartup(wVersionRequested,&wsaData
{("printf("\n error on init socket\n"
;(exit(1
}
;(intSocket=socket(AF_INET,SOCK_STREAM,0
(if(intSocket==INVALID_SOCKET
{;(printf("error on create socket\n"
;()WSACleanup
;(exit(1
این کدارو زدم خواهش میکنم کمک کنید.حتما بایداین کارو انجام بدم

farhad_shiri_ex
چهارشنبه 03 مهر 1398, 17:24 عصر
ممنون از راهنماییتون سوال منم همینه چرا به این تابع دسرسی نداره
کامپیلر برام خطای نحوی نمیگیره ولی رانم نمیتونم بکنم

("recSin.sin_addr.S_un.S_addr=inet_addr("185.41.2.7
;recSin.sin_family=AF_INET
;(recSin.sin_port=htons(3490
;(memset(&(recSin.sin_zero),'\0',8
;(wVersionRequested=MAKEWORD(2,0
;((if(WSAStartup(wVersionRequested,&wsaData
{("printf("\n error on init socket\n"
;(exit(1
}
;(intSocket=socket(AF_INET,SOCK_STREAM,0
(if(intSocket==INVALID_SOCKET
{;(printf("error on create socket\n"
;()WSACleanup
;(exit(1
این کدارو زدم خواهش میکنم کمک کنید.حتما بایداین کارو انجام بدم

با کامپایلر mingw تو ویندوز کامپایل میکنید؟ یعنی از IDE های مثل eclips , clion , ... استفاده میکنید به همین علت قطعا کامپایلری که دارید mingw هست!!
اگر اینطوره که باید از کامپایلر gcc تحت لینوکس حتما استفاده کنید! ویا اگر میخواهید تحت ویندوز سوکت باز کنید باید از قواعد winsock استفاده کنید و در ضمن حتما هم با visualc کامپایل کنید برنامه را تا اجرا بشه!

m.fazelsabzalipoor
چهارشنبه 03 مهر 1398, 17:32 عصر
ببنید تومحیط ++dev c کار میکنم کامپیلرشم Tdm-gcc

pe32_64
سه شنبه 23 مهر 1398, 00:24 صبح
این جا رو یک نگاه کنید :
https://stackoverflow.com/questions/22314120/imp-link-errors-using-g-running-under-mingw
از Code::Blocks استفاده کنید تا راحت تر باشید