نمایش نتایج 1 تا 4 از 4

نام تاپیک: اشکال در کامپایل

  1. #1
    کاربر دائمی آواتار alireza643
    تاریخ عضویت
    شهریور 1384
    محل زندگی
    روی زمین
    پست
    368

    اشکال در کامپایل

    من تو cbuilder یه برنامه نوشتم. اسن برنامه رو کامپیوتر خودم داره سالم کار میکنه ولی وقتی رو یه سیستم دیگه میبرم و برنامه رو اجرا میکنم اصلا فرم رو لود نمیکنه و همون اول میگه vcl100.bpl رو پیدا نمیکنه. این فایل رو کنار برنامه کپی میکنم یه فایل دیگه میخواد و خلاصه همه ی فایل ها رو تک تک باید کنارش کپی کنم که حدود 200 - 300 تایی میشه.
    من قبلا برای رفع این مشکل تو تنظیمات linker میگفتم به صورت استاتیک کامپایل کنه نه به صورت داینامیک و این مشکل حل میشد. ولی الان دیگه با این کار مشکل برطرف نمیشه. کسی میدونه دیگه چه گزینه هایی باید تنظیم بشه؟

  2. #2
    کاربر دائمی آواتار sasan_vm
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    زاهدان
    پست
    494
    اولا 200-300 تا فایل نیست بسته به object های مورد استفاده 10 تا 20 فایل هم نمیشه. برای static link (اصلا توصیه نمیشه حجم فایل Exe خیلی بالا می رود)
    باید :
    در Linking گزینه Use dynamic RTL غیر فعال شود،
    و در Packages گزینه Build with runtime packages غیر فعال شود. ( Linking و Packages تنظیمات مربوط به Project Options می باشند.)

    استفاده از dynamic link:
    در prompt dos این 2 دستور را اجرا کنید

    tdump -m <FileName.exe> <FileName.dmp>
    grep -i imports <FileName.dmp>


    FileName نام برنامه تولید شده شما است، FileName.dmp خروجی tdump را در آن ذخیره
    می کند و در آخر برنامه grep از این خروجی لیست کامل فایهای مورد نیاز dll, bpl را برایتان نمایش می دهد، بهتر است خروجی grep را در یک فایل text ذخیره کرده و از ان استفاده کنید.


  3. #3
    کاربر دائمی آواتار alireza643
    تاریخ عضویت
    شهریور 1384
    محل زندگی
    روی زمین
    پست
    368
    سلام
    من هم به صورت Dynamic و هم Static برنامه رو کامپایل کردم. بعد اون دستوراتی که شما فرموده بودید تو داس اجر کردم و درمورد هر دو فایل exe لیست فایل هایی که میده یکی هست. میخواستم بدونم من درست اجرا کردم یا نه. یعنی چه Dynamic و چه Static این لیست رو تولید میکنه؟
    مرسی

  4. #4
    کاربر دائمی آواتار sasan_vm
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    زاهدان
    پست
    494
    سلام
    لیست فایلها یکی نیابد باشد. اگه از Static Link استفاده کرده باشید، هیچ فایل bpl ای را نباید در لیست ببینید فقط فایلهای dll مربوط به windows که VCL از انها استفاده میکند (که معمولا روی هر windows ای هست). اگر از package ای استفاده میکنید که بصورت DLL ارائه شده، ان فایلها هم به لیست اضافه می شوند.

    احتمالا Static Link را درست انجام نمی دهید. ( قبل از انتخاب Build all projects ، در Project Options ، قسمت Build configuration گزینه Release Build را فعال کنید.)

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •