انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید


ارائه ۲۵٫۰۴ اوبونتو منتشر شد 🎉

نویسنده موضوع: اشکال در استفاده از تابع‌های کتابخانه‌ای دربرنامه به زبان C  (دفعات بازدید: 1326 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین SFatemeM

  • Newbie
  • *
  • ارسال: 8
  • جنسیت : دختر
سلام. یه مشکلی در برنامه داشتم.
در این کد از کتابخانه آماده‌استفاده میکنم.این کد رو که داخل ترمینال لینوکس میزنم و با این کد کامپایل میکنم:
gcc -L/home/OS -Wall test.c -o test
این error رو میدهد
undefind reference to 'openPort'

به این لینک " http://www.cprogramming.com/tutorial/shared-libraries-linux-gcc.html " هم مراجعه کردم و مرحله 3 رو انجام دادم ولی باز هم حل نشد !!
مثلا این تابع ساده زیر رو نوشتم که استفاده این کتابخونه رو ببینم ...
ممنون میشم راهنماییم کنین.

[left]
#include "libwebserver.h"
#include <stdio.h>
int main()
{
int sockfd=0;
sockfd=openPort(8080);
printf("Hellow: %d",sockfd);
}

[/left]
« آخرین ویرایش: 15 اسفند 1393، 06:46 ب‌ظ توسط SFatemeM »

آفلاین بهنام م ک

  • Full Member
  • *
  • ارسال: 215
  • جنسیت : پسر
لطفا چک کنین ببینین داخل فایل libwebserver.h تابعی به اسم openPort وجود داره؟

البته بدیهیه که در این شیوه ی کامپایل ، فایل libwebserver.h باید در دایرکتوری کد برنامه قرار داشته باشه
من از آنچه تو میگویی بیزارم ولی تا پای مرگ از حق تو برای گفتن آن دفاع میکنم

آفلاین دانیال بهزادی

  • ناظر انجمن
  • *
  • ارسال: 19809
  • جنسیت : پسر
  • Urahara Kiesuke
    • وبلاگ
سوییچ lwebserver- رو هم به دستور کامپایل gcc اضافه کن
اگه این ارسال بهت کمک کرد، دنبال دکمهٔ تشکر نگرد. به جاش تو هم به جامعهٔ آزادت کمک کن

آفلاین SFatemeM

  • Newbie
  • *
  • ارسال: 8
  • جنسیت : دختر
لطفا چک کنین ببینین داخل فایل libwebserver.h تابعی به اسم openPort وجود داره؟

البته بدیهیه که در این شیوه ی کامپایل ، فایل libwebserver.h باید در دایرکتوری کد برنامه قرار داشته باشه

بله داخل فایل برنامه این تابع وجود داره.
فایل libwebserver.h هم در دایرکتوری کد برنامه وجود دارد !

آفلاین SFatemeM

  • Newbie
  • *
  • ارسال: 8
  • جنسیت : دختر
سوییچ lwebserver- رو هم به دستور کامپایل gcc اضافه کن

این سوییچ رو هم اضافه کردم ولی باز همون error رو داد !!

آفلاین بهنام م ک

  • Full Member
  • *
  • ارسال: 215
  • جنسیت : پسر
لطفا محتوای تابع openPort رو اینجا بذارید.به نظرم باید سویچ مناسب رو پیدا کنیم
من از آنچه تو میگویی بیزارم ولی تا پای مرگ از حق تو برای گفتن آن دفاع میکنم

آفلاین SFatemeM

  • Newbie
  • *
  • ارسال: 8
  • جنسیت : دختر
لطفا محتوای تابع openPort رو اینجا بذارید.به نظرم باید سویچ مناسب رو پیدا کنیم

کتابخونه‌ها‌ رو آماده دادن. من خودم ننوشتم تابع‌ها رو .

کامپایل درست شد! مشکل از فایل کتابخونه بوده . مثل اینکه فایلی که نوشته بودن واسه 64 بیت بوده و چیزی که ماها نصب کرده بودیم 32 بیت بوده و نمیتونسته ارجاع بده ...

ممنون از راهنمایی همه :)