انجمنهای فارسی اوبونتو
کمک و پشتیبانی => برنامهسازی => نویسنده: 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++ -o main main.cpp Brrito.cpp
-
ممنون از کمکتون
حالا یه سوال دیگه برام پیش اومد !
من اگر مثلا یه هیدر بسازم بسی بزرگ بعد نخوام بقیه کدشو ببینن ( ;D ) اما بدم استفاده کنن جای فایل Brrito.cpp فایل Britto.o که کامپایلر میسازه رو بهشون بدم میتونن استفاده کنن ؟
-
بله، ولی باید به عنوان یک کتابخانه کامپایلش کنید که با نسخههای مختلف GCC کار بکنه.
-
سلام دوباره
یه سوال دیگه
میشه یا G++ تو توزیع های گنو لینوکس خروجی exe گرفت که اگر خواستیم بدیم دوستان ویندوز کار استفاده کنند دیگه نیاز نباشه تو ویندوز ریکامپایل کنیم ؟
-
سلام دوباره
یه سوال دیگه
میشه یا G++ تو توزیع های گنو لینوکس خروجی exe گرفت که اگر خواستیم بدیم دوستان ویندوز کار استفاده کنند دیگه نیاز نباشه تو ویندوز ریکامپایل کنیم ؟
sudo apt-get install mingw32
i586-mingw32msvc-gcc -o test.exe test.c
مثلا به این شکل کامپایلر mingw خیلی کاربردیه
-
ممنون از شما
خروجی exe این کامپایلر ( برای همین کدی که تو پست اول قرار دادم ) خیلی حجیمه(تقریبا ۱.۵ مگ) راهی نیست بشه کم حجمش کرد ؟