لینک کردن در ویندوز
-
[quote author="soroush" date="1337798025"]
p{direction:rtl;text-align:right}. الان متوجه شدم که توی ویندوز کلن هیچ کتابخونهای رو نمیتونم لینک کنم! هر دو فایل dll و .a رو هم لینک دادم به پروژه اما نشد.
[/quote]p{direction:rtl; text-align:right}. من تابحال با لینک کردن توی ویندوز مشکلی نداشتم. از این روش هم توی لینوکس استفاده میکنم و هم توی ویندوز:
@
INCLUDEPATH += "مسیر فایل های header"
LIBS += "مسیر فایل های static/LIBRARY.a"
@ -
p{direction:rtl;text-align:right}. استاتیکش رو نمیخوام. به یه dll میخوام لینک بدم.
ظاهراً توی ویندوز Symbol Table رو خود کامپایلر درست نمیکنه و باید مشخص کنی که چه چیزایی رو میخوای export کنی. کیوت هم دو تا ماکرو برای این کار داره. ولی هنوز طرز کار درستشون رو یاد نگرفتم. -
p{direction: rtl; text-align:right}. برای mingw میتونی با استفاده از reimp سیمبل ها رو اکسپورت کنی و فایل .a رو بسازی ولی در هر حال فایل .a و header ها رو باید داشته باشی. symbol ها که مطمئن باش داخل تمامی فایل های dynamic هستن. تنها راه پیدا کردن آدرس یک تابع توی فایل بررسی symbol ها هست. در ضمن کامپایلر رو هر پلتفرمی که باشه یکجور عمل میکنه و کارش تولید instruction برای cpu هست.
-
p{direction: rtl; text-align:right}. reimp چیه؟
نه extern نکردم. از ماکروی Q_DECL_EXPORT استفاده کردم، درست شد. اما ویجتهایی که ساختم رو نمیتونم بهصورت پلاگین داخل Qt Creator بذارم.p{direction: rtl; text-align:right}. مشکلم اینه که یک کتابخونهٔ ویجت دارم، میخوام براش پلاگین دیزاینر بسازم که بتونم ویجتها رو ببینم. برای همین مشکل لینک کردن، پروژهٔ ویجتها رو از پروژهٔ پلاگین جدا کردم. الان برنامهها میتونن از ویجتها استفاده کنن. همچنین پروژهٔ پلاگین به ویجتها لینک میکنه. اما خود پلاگین کار نمیکنه. نمیتونم توی Designer یا Creator ویجتها رو ببینم. به هیچ صراطی مستقیم نیست. خیلی مسخرهست که مجبوریم توی ویندوز هر چیزی رو که میخوایم توی جدول سمبلها باشه مشخص کنیم.
-
[quote author="Mohsen" date="1338181939"]p{direction: rtl; text-align:right}. خواهش میکنم. به نظر من کلا استفاده از vs برای کامپایل توی ویندوز خیلی بهتره.[/quote]
p{direction: rtl; text-align:right}. راحت تره اما امنیت نداره. خیلی زود دکامپایل میکنن و برنامه رو میریزن بیرون. از سی++ 2011 هم که کلن پشتیبانی نمیکنه
-