PDA

View Full Version : مشکل در کامپایل برنامه



jdeveloper
دوشنبه 24 دی 1386, 11:41 صبح
سلام

دو تا سوال دارم از عزیزانی که با C++ Builder کار کردن :

1 - CBuilder از چه کامپایلری استفاده میکنه ؟

2 - اگر یک فایل Lib داشته باشیم که با C++Builder ایجاد شده باشه چه جوری میشه با استفاده از Microsoft VC++ 7 اون رو خواند چون من میخواستم که اون رو به یک برنامه لینک کنم و دستور cl -LD test.cpp -link -defaultlib:test.lib رو اجرا کردم ولی مینویسه test.lib:incorrect file format

تشکر از نظراتتون

sasan_vm
سه شنبه 25 دی 1386, 08:02 صبح
سلام

1- از کمپایلر Borland ++C
2- با استفاده از implib/implib32 از DLL ای که با BCB ایجاد شده فایل lib مربوطه را ایجاد کنید و ان فایل را با پروژه VC++ لینک کنید. این مسئله برای DLL هایی که با VC++ ایجاد شده و می خواهید در BCB استفاده کنید نیز صادق است.

jdeveloper
پنج شنبه 27 دی 1386, 12:40 عصر
تشکر از پاسخی که دادید اما چند تا مطلب هست که برای من هنوز مبهمه :

1 - این کامپایلری که میفرمائید آیا C++ Builder version 5.5 هست که بصورت مجانی قابل دانلوده؟

2 - اگر منظورتان IMplib در Microsoft C++ هست که من دنبال همچین دستوری گشتم نبود ولی دستوری بنام Lib وجود داشت وبا همان من یک xxx.lib ساختم ولی برنامه تابع مورد نظر را هنگام فراخوانی پیدا نکرد. علت را که جویا شدم دیدم نوشته که پلتفرم ها با هم مختلف است

sasan_vm
پنج شنبه 27 دی 1386, 16:05 عصر
سلام



1 - CBuilder از چه کامپایلری استفاده میکنه ؟


کمپایلر مورد استفاده در CBuilder همان Borland ++C هست که بسته به ورژن CBuilder متفاوت است مثلا در C++ Builder 2006 از کمپایلر ورژن 5.82 استفاده می شود.

دقت کنید فایلهای DLL استاندارد هستند و در اکثر کمپایلرها براحتی می توان از انها استفاده کرد. ولی هر کمپایلر فایل lib خودش را می سازد. شما DLL ای دارید که با BCB نوشته شده است پس فایل lib ای که کمپایلر BCB برای ان می سازد در خود BCB کاربرد دارد. برای ستفاده از آن DLL در VC شما باید فایل lib ای برای کمپایلر VC ایجاد کنید که ابزار implib این کار را برایتان انجام می دهد.

http://www.google.com/search?hl=en&q=%22implib%22