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

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

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

نویسنده موضوع: سوال در مورد ایجاد یک بسته نرم افزاری در لینوکس  (دفعات بازدید: 1698 بار)

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

آفلاین jeremy28

  • Newbie
  • *
  • ارسال: 18
سلام

من یه پروژه دارم که یه فایل با نام main.cpp داره که تابع اصلی یعنی main در اون تعریف شده و یک سری هدر فایل و سورس فایل جداگانه دارم که هر کدوم یه کلاس رو تعریف کردن و یه کار خاصی رو انجام میدن.
حالا می خوام این پروژه رو به صورت یه package نرم افزاریِ تر و تمیز توی لینوکس در بیارم.
راستش این تجربه اولمه!!

یعنی می خوام یه Makefile بنویسم که این پروژه رو کامپایل و اجرا کنه:

یه فولدر با نام project درست کردم که کلیه فایل و پوشه ها در اون قرار بگیره. داخل اون:

1- یه فولدر با نام MainSrv دارم که فایل main.cpp در اونه .
2- یه فولدر با نام include دارم که هدرفایل ها (فایل های .h ) در اون قرار می گیرن.
3- یه فولدر با نام lib که کلیه فایل های object (.o ) در اون قرار می گیرن.
4- یه فولدر با نام src که کلیه فایل های .cpp دراون قرار می گیرن.
5- یه فولدر با نام config که فایل config.cfg مربوط به پروژه در اون قرار می گیره.

حالا در ابتدای فایل main.cpp چند تا از اون هدر فایل ها include می شن، من می خوام بدونم نحوه دقیق include کردن اونها چه جوری باید باشه؟

مثلا اسم یکی شون هست ptsocket.h. من واسه include کردنش این کار رو کردم:

#include “include/ ptsocket.h"
ولی می دونم درست نیست، چون فایل main.cpp من در یک فولدر با نام MainSrv هست و وقتی من می تونم این کار رو بکنم که پوشه include، داخل این فولدر و کنار فایل main.cpp باشه!
کاری که می خوام بکنم، اینه که از پوشه MainSrv یه جوری به عقب برگردم (که وارد پوشه project می شه) و در اونجا از پوشه include، فایل ptsocket.h رو به برنامه اضافه کنم. ولی نمی دونم که این کار در دستور #include چه جوری باید اعمال بشه؟
به نظرتون این درسته؟
#include “../include/ ptsocket.h"
اگه درسته، اون نقطه ها باید دو تا باشه یا سه تا؟
(یعنی توی این مسیردهی فایل ها در دستور #include برای هر فایل cpp، چه main وچه cpp های دیگه مشکل دارم، لطفا کمک کنید!)
حالا می خوام یه Makefile بنویسم که این فایل ها رو کامپایل کنه و بعد کتابخونه های تولید شده رو در سیستم نصب کنه، یعنی توی Makefile مسیردهی هم انجام بشه و ...)

اگه ممکنه در این مورد کمکم کنید و یا یه مرجعی رو معرفی کنید که روال این کار (درست کردن بسته و تنظیم صحیح Makefile بر حسب اون) رو کامل توضیح بده.

با تشکر