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

کمک و پشتیبانی => برنامه‌سازی => نویسنده: Lol در 24 شهریور 1393، 03:17 ب‌ظ

عنوان: مشکل در کامپایل با G++
ارسال شده توسط: Lol در 24 شهریور 1393، 03:17 ب‌ظ
سلام خدمت دوستان
من تو کامپایل با G++ مشکل دارم !
الا این کدهارو ببینید !
main.cpp :
#include <iostream>
#include "Brrito.h"
using namespace std;
int main (){
Brrito lol;
return 0;
}
Brrito.h:
#ifndef BRRITO_H
#define BRRITO_H


class Brrito
{
    public:
        Brrito();

};

#endif // BRRITO_H


Brrito.cpp:
#include "Brrito.h"
#include <iostream>
using namespace std;
Brrito::Brrito()
{
    cout <<"Thjs is a test"<<endl;
}


حالا اینو یه بنده خدایی تو فیلم آموزشی با CodeBlocks کامپایل میکنه خوشگل کار میکنه ( البته اون ویندوزه ).
اما من که با g++ کامپایل میکنم میگه :
empty@Amir:~/C-C++$ g++ -o main main.cpp
/tmp/cc10Awtm.o: In function `main':
main.cpp:(.text+0x10): undefined reference to `Brrito::Brrito()'
collect2: error: ld returned 1 exit status


مشکل کچاشه /؟‌؟ (بنده شدیدا مبتدی هستم  ;D)
عنوان: پاسخ : مشکل در کامپایل با G++
ارسال شده توسط: nixoeen در 24 شهریور 1393، 03:43 ب‌ظ
این دستور رو بنویسید:
g++ -o main main.cpp Brrito.cpp
عنوان: پاسخ : مشکل در کامپایل با G++
ارسال شده توسط: Lol در 24 شهریور 1393، 03:50 ب‌ظ
ممنون از کمکتون
حالا یه سوال دیگه برام پیش اومد !
من اگر مثلا یه هیدر بسازم بسی بزرگ بعد نخوام بقیه کدشو ببینن (  ;D ) اما بدم استفاده کنن جای فایل Brrito.cpp فایل Britto.o که کامپایلر میسازه رو بهشون بدم میتونن استفاده کنن ؟‌
عنوان: پاسخ : مشکل در کامپایل با G++
ارسال شده توسط: nixoeen در 24 شهریور 1393، 03:59 ب‌ظ
بله، ولی باید به عنوان یک کتابخانه کامپایلش کنید که با نسخه‌های مختلف GCC کار بکنه.
عنوان: پاسخ : مشکل در کامپایل با G++
ارسال شده توسط: Lol در 26 شهریور 1393، 12:20 ق‌ظ
سلام دوباره
یه سوال دیگه
میشه یا G++ تو توزیع های گنو لینوکس خروجی exe گرفت که اگر خواستیم بدیم دوستان ویندوز کار استفاده کنند دیگه نیاز نباشه تو ویندوز ریکامپایل کنیم ؟
عنوان: پاسخ : مشکل در کامپایل با G++
ارسال شده توسط: majid1364 در 26 شهریور 1393، 12:36 ق‌ظ
سلام دوباره
یه سوال دیگه
میشه یا G++ تو توزیع های گنو لینوکس خروجی exe گرفت که اگر خواستیم بدیم دوستان ویندوز کار استفاده کنند دیگه نیاز نباشه تو ویندوز ریکامپایل کنیم ؟


sudo apt-get install mingw32


i586-mingw32msvc-gcc -o test.exe test.c

مثلا به این شکل کامپایلر mingw خیلی کاربردیه
عنوان: پاسخ : مشکل در کامپایل با G++
ارسال شده توسط: Lol در 26 شهریور 1393، 12:37 ب‌ظ
ممنون از شما

خروجی exe این کامپایلر ( برای همین کدی که تو پست اول قرار دادم ) خیلی حجیمه‌(تقریبا ۱.۵ مگ) راهی نیست بشه کم حجمش کرد ؟