DeBugger |
» 2009-07-22 11:10:15 Co do ostatniego postu Fanaela - jeżeli pisze się w C++, ja sugeruję użycie rozszerzenia "*.hpp". |
|
DeBugger |
» 2009-07-22 11:24:47 main.cpp: #include "main.hpp"
int main() { } END_OF_MAIN();
main.hpp: #ifndef main_hpp #define main_hpp #include "class.hpp" #endif
class.cpp: #include "class.hpp" using namespace std;
cObject::cObject() { string m_strName = "Object"; int m_iPositionX = 0; int m_iPositionY = 0; BITMAP * m_bmImage = create_bitmap( 50, 50 ); int m_iWidth = 50; int m_iHeight = 50; }
cObject::cObject( string strName, int iPositionX, int iPositionY, string strPathOfFile ) { string m_strName = strName; int m_iPositionX = iPositionX; int m_iPositionY = iPositionY; BITMAP * m_bmImage = load_bmp( strPathOfFile.c_str(), default_palette ); int m_iWidth = m_bmImage->w; int m_iHeight = m_bmImage->h; } class.hpp: #ifndef class_hpp #define class_hpp #include <string> #include <allegro.h>
using namespace std;
class cObject { public: string m_strName; int m_iPositionX; int m_iPositionY; BITMAP * m_bmImage; int m_iWidth; int m_iHeight; cObject(); cObject( string, int, int, string ); };
class cCharacter : public cObject { public: int m_iHP; int m_iAttack; int m_iDefense; int m_iInjuryMin; int m_iInjuryMax; int m_iSpeed; };
class cMonster : public cCharacter { };
class cPlayer : public cCharacter { };
#endif
Metoda kompilacji (Linux Ubuntu Terminal): g++ `allegro-config --libs --shared` main.cpp class.cpp -o game |
|
steckel Temat założony przez niniejszego użytkownika |
» 2009-07-22 11:46:11 Jak to zastosować w CodeBlocks? g++ `allegro-config --libs --shared` main.cpp class.cpp -o game
Teraz mam dokładnie to co JCJ: D:\p rojekty\inne\diablo\.objs\class.o(.text + 0x0 ) || In function ` ZN7cObjectC2Ev ':| D:\p rojekty\inne\diablo\class.cpp | 4 | multiple definition of ` cObject::cObject() '| D:\p rojekty\inne\diablo\.objs\main.o(.text + 0x0 ) : D:\p rojekty\inne\diablo\class.cpp | 4 | first defined here | D:\p rojekty\inne\diablo\.objs\class.o(.text + 0x346 ) || In function ` ZN7cObjectC1Ev ':| D:\p rojekty\inne\diablo\class.cpp | 4 | multiple definition of ` cObject::cObject() '| D:\p rojekty\inne\diablo\.objs\main.o(.text + 0x346 ) : D:\p rojekty\inne\diablo\class.cpp | 4 | first defined here | D:\p rojekty\inne\diablo\.objs\class.o(.text + 0x68c ) || In function ` ZN7cObjectC2ESsiiSs ':| D:\p rojekty\inne\diablo\class.cpp | 13 | multiple definition of ` cObject::cObject( std::string, int, int, std::string ) '| D:\p rojekty\inne\diablo\.objs\main.o(.text + 0x68c ) : D:\p rojekty\inne\diablo\class.cpp | 13 | first defined here | D:\p rojekty\inne\diablo\.objs\class.o(.text + 0x9aa ) || In function ` ZN7cObjectC1ESsiiSs ':| D:\p rojekty\inne\diablo\class.cpp | 13 | multiple definition of ` cObject::cObject( std::string, int, int, std::string ) '| D:\p rojekty\inne\diablo\.objs\main.o(.text + 0x9aa ) : D:\p rojekty\inne\diablo\class.cpp | 13 | first defined here | ||=== Build finished : 8 errors , 0 warnings ===| |
|
DeBugger |
» 2009-07-22 11:50:02 Tworzysz projekt, i dodajesz do niego wszystkie pliki, a później wklejasz im zawartość, linkujesz projekt i kompilujesz. ;) |
|
steckel Temat założony przez niniejszego użytkownika |
» 2009-07-22 12:43:27 Z tym linkowaniem chodzi o to, aby to: g++ `allegro-config --libs --shared` main.cpp class.cpp -o game
wkleić do "other linker options"? Jeżeli tak to są nowe błedy:
-------------- Build: Debug in diablo ---------------
Linking console executable: diablo.exe mingw32-g++.exe: g++: No such file or directory Process terminated with status 1 (0 minutes, 0 seconds) 0 errors, 0 warnings
|
|
DeBugger |
» 2009-07-22 12:48:07 Wystarczy to: `allegro-config --libs --shared` |
|
steckel Temat założony przez niniejszego użytkownika |
» 2009-07-22 12:52:45 No to dalej mam te same błędy co wcześniej: D:\p rojekty\inne\diablo\class.cpp || In constructor ` cObject::cObject() ':| D:\p rojekty\inne\diablo\class.cpp | 6 | warning : unused variable 'm_iPositionX' | D:\p rojekty\inne\diablo\class.cpp | 7 | warning : unused variable 'm_iPositionY' | D:\p rojekty\inne\diablo\class.cpp | 8 | warning : unused variable 'm_bmImage' | D:\p rojekty\inne\diablo\class.cpp | 9 | warning : unused variable 'm_iWidth' | D:\p rojekty\inne\diablo\class.cpp | 10 | warning : unused variable 'm_iHeight' | D:\p rojekty\inne\diablo\class.cpp || In constructor ` cObject::cObject( std::string, int, int, std::string ) ':| D:\p rojekty\inne\diablo\class.cpp | 15 | warning : unused variable 'm_iPositionX' | D:\p rojekty\inne\diablo\class.cpp | 16 | warning : unused variable 'm_iPositionY' | D:\p rojekty\inne\diablo\class.cpp | 18 | warning : unused variable 'm_iWidth' | D:\p rojekty\inne\diablo\class.cpp | 19 | warning : unused variable 'm_iHeight' | D:\p rojekty\inne\diablo\main.cpp || In function ` int _mangled_main() ':| D:\p rojekty\inne\diablo\main.cpp | 7 | warning : control reaches end of non - void function | D:\p rojekty\inne\diablo\class.cpp || In constructor ` cObject::cObject() ':| D:\p rojekty\inne\diablo\class.cpp | 6 | warning : unused variable 'm_iPositionX' | D:\p rojekty\inne\diablo\class.cpp | 7 | warning : unused variable 'm_iPositionY' | D:\p rojekty\inne\diablo\class.cpp | 8 | warning : unused variable 'm_bmImage' | D:\p rojekty\inne\diablo\class.cpp | 9 | warning : unused variable 'm_iWidth' | D:\p rojekty\inne\diablo\class.cpp | 10 | warning : unused variable 'm_iHeight' | D:\p rojekty\inne\diablo\class.cpp || In constructor ` cObject::cObject( std::string, int, int, std::string ) ':| D:\p rojekty\inne\diablo\class.cpp | 15 | warning : unused variable 'm_iPositionX' | D:\p rojekty\inne\diablo\class.cpp | 16 | warning : unused variable 'm_iPositionY' | D:\p rojekty\inne\diablo\class.cpp | 18 | warning : unused variable 'm_iWidth' | D:\p rojekty\inne\diablo\class.cpp | 19 | warning : unused variable 'm_iHeight' | D:\p rojekty\inne\diablo\.objs\class.o(.text + 0x0 ) || In function ` ZN7cObjectC2Ev ':| D:\p rojekty\inne\diablo\class.cpp | 4 | multiple definition of ` cObject::cObject() '| D:\p rojekty\inne\diablo\.objs\main.o(.text + 0x0 ) : D:\p rojekty\inne\diablo\class.cpp | 4 | first defined here | D:\p rojekty\inne\diablo\.objs\class.o(.text + 0x346 ) || In function ` ZN7cObjectC1Ev ':| D:\p rojekty\inne\diablo\class.cpp | 4 | multiple definition of ` cObject::cObject() '| D:\p rojekty\inne\diablo\.objs\main.o(.text + 0x346 ) : D:\p rojekty\inne\diablo\class.cpp | 4 | first defined here | D:\p rojekty\inne\diablo\.objs\class.o(.text + 0x68c ) || In function ` ZN7cObjectC2ESsiiSs ':| D:\p rojekty\inne\diablo\class.cpp | 13 | multiple definition of ` cObject::cObject( std::string, int, int, std::string ) '| D:\p rojekty\inne\diablo\.objs\main.o(.text + 0x68c ) : D:\p rojekty\inne\diablo\class.cpp | 13 | first defined here | D:\p rojekty\inne\diablo\.objs\class.o(.text + 0x9aa ) || In function ` ZN7cObjectC1ESsiiSs ':| D:\p rojekty\inne\diablo\class.cpp | 13 | multiple definition of ` cObject::cObject( std::string, int, int, std::string ) '| D:\p rojekty\inne\diablo\.objs\main.o(.text + 0x9aa ) : D:\p rojekty\inne\diablo\class.cpp | 13 | first defined here | ||=== Build finished : 8 errors , 19 warnings ===| |
|
DeBugger |
» 2009-07-22 12:55:34 To coś jest nie tak. Daj screena z swoim C::B, a coś poradzę (imageshack.us). |
|
1 « 2 » 3 4 5 6 7 |