Squirrel

The programming language
Welcome to Squirrel Sign in | Join | Help
in Search

SqPlus 25 and GCC

Last post 03-04-2007, 6:18 AM by Katsuaki Kawachi. 3 replies.
Sort Posts: Previous Next
  •  02-21-2007, 10:16 AM 1753

    SqPlus 25 and GCC

    Hi, it's my first post here in the forum. I'm creating a plugin-based framework, so it's based on abstract classes and DLLs. If I got it right, I need to use the SQClassDefNoContructor template in order to register my abstract classes, but I'm using GCC and it won't compile with versions 24 and 25...

    Is there some workaround for this problem? I already tried a couple of changes in the code, and SqPlus compiled, but testSqPlus failed and testSqPlus2 didn't compile. I'm willing to study the problem further in order to make an attempt to correct it, so please, any suggestions would be very appreciated.

    Thanks in advance!
    Edgard

    PS: I read about Alberto's idea related to the creation of a 'wrapper' around the scripting module, but I'm afraid I didn't understand how it could be done...
  •  02-25-2007, 4:58 AM 1758 in reply to 1753

    Re: SqPlus 25 and GCC

    Hi,

    I put a snapshot of sqplus@sourceforge on wiki.
    Please try it.

    http://wiki.squirrel-lang.org/default.aspx/SquirrelWiki/SqPlus.html

  •  02-27-2007, 5:50 PM 1763 in reply to 1758

    Re: SqPlus 25 and GCC

    Hi, I downloaded the snapshot and I managed to compile the libraries. testSqPlus runs ok, but when I try to compile testSqPlus2 I receive these error messages:

    :: === testSqPlus2, Debug ===
    D:\GameDev\SQUIRREL2_1_1_sqplus_snapshot_20070225\testSqPlus2\testSqPlus2.cpp:784:   instantiated from here
    ..\sqplus\sqplus.h:2017: error: no matching function for call to `Get(SqPlus::TypeWrapper<Vector3*>, SQVM*&, int)'
    ..\sqplus\sqplus.h:1912: note: candidates are: void SqPlus::Get(SqPlus::TypeWrapper<void>, SQVM*, int)
    ..\sqplus\sqplus.h:1913: note:                 bool SqPlus::Get(SqPlus::TypeWrapper<bool>, SQVM*, int)
    ..\sqplus\sqplus.h:1914: note:                 char SqPlus::Get(SqPlus::TypeWrapper<char>, SQVM*, int)
    ..\sqplus\sqplus.h:1915: note:                 unsigned char SqPlus::Get(SqPlus::TypeWrapper<unsigned char>, SQVM*, int)
    ..\sqplus\sqplus.h:1916: note:                 short int SqPlus::Get(SqPlus::TypeWrapper<short int>, SQVM*, int)
    ..\sqplus\sqplus.h:1917: note:                 short unsigned int SqPlus::Get(SqPlus::TypeWrapper<short unsigned int>, SQVM*, int)
    ..\sqplus\sqplus.h:1918: note:                 int SqPlus::Get(SqPlus::TypeWrapper<int>, SQVM*, int)
    ..\sqplus\sqplus.h:1919: note:                 unsigned int SqPlus::Get(SqPlus::TypeWrapper<unsigned int>, SQVM*, int)
    ..\sqplus\sqplus.h:1920: note:                 long int SqPlus::Get(SqPlus::TypeWrapper<long int>, SQVM*, int)
    ..\sqplus\sqplus.h:1921: note:                 long unsigned int SqPlus::Get(SqPlus::TypeWrapper<long unsigned int>, SQVM*, int)
    ..\sqplus\sqplus.h:1922: note:                 float SqPlus::Get(SqPlus::TypeWrapper<float>, SQVM*, int)
    ..\sqplus\sqplus.h:1923: note:                 double SqPlus::Get(SqPlus::TypeWrapper<double>, SQVM*, int)
    ..\sqplus\sqplus.h:1924: note:                 const SQChar* SqPlus::Get(SqPlus::TypeWrapper<const SQChar*>, SQVM*, int)
    ..\sqplus\sqplus.h:1925: note:                 SqPlus::SquirrelNull SqPlus::Get(SqPlus::TypeWrapper<SqPlus::SquirrelNull>, SQVM*, int)
    ..\sqplus\sqplus.h:1926: note:                 void* SqPlus::Get(SqPlus::TypeWrapper<void*>, SQVM*, int)
    ..\sqplus\sqplus.h:1927: note:                 SQVM* SqPlus::Get(SqPlus::TypeWrapper<SQVM*>, SQVM*, int)
    ..\sqplus\sqplus.h:1928: note:                 SquirrelObject SqPlus::Get(SqPlus::TypeWrapper<SquirrelObject>, SQVM*, int)
    ..\sqplus\SquirrelObject.h:14:   instantiated from `SquirrelObject::SquirrelObject(const _ty&) [with _ty = Vector3]'
    D:\GameDev\SQUIRREL2_1_1_sqplus_snapshot_20070225\testSqPlus2\testSqPlus2.cpp:782:   instantiated from here
    ..\sqplus\sqplus.h:2036: error: no matching function for call to `Push(SQVM*&, Vector3&)'
    ..\sqplus\sqplus.h:1865: note: candidates are: void SqPlus::Push(SQVM*, char)
    ..\sqplus\sqplus.h:1866: note:                 void SqPlus::Push(SQVM*, unsigned char)
    ..\sqplus\sqplus.h:1867: note:                 void SqPlus::Push(SQVM*, short int)
    ..\sqplus\sqplus.h:1868: note:                 void SqPlus::Push(SQVM*, short unsigned int)
    ..\sqplus\sqplus.h:1869: note:                 void SqPlus::Push(SQVM*, int)
    ..\sqplus\sqplus.h:1870: note:                 void SqPlus::Push(SQVM*, unsigned int)
    ..\sqplus\sqplus.h:1871: note:                 void SqPlus::Push(SQVM*, long int)
    ..\sqplus\sqplus.h:1872: note:                 void SqPlus::Push(SQVM*, long unsigned int)
    ..\sqplus\sqplus.h:1873: note:                 void SqPlus::Push(SQVM*, double)
    ..\sqplus\sqplus.h:1874: note:                 void SqPlus::Push(SQVM*, float)
    ..\sqplus\sqplus.h:1875: note:                 void SqPlus::Push(SQVM*, const SQChar*)
    ..\sqplus\sqplus.h:1876: note:                 void SqPlus::Push(SQVM*, const SqPlus::SquirrelNull&)
    ..\sqplus\sqplus.h:1877: note:                 void SqPlus::Push(SQVM*, SQInteger (*)(SQVM*))
    ..\sqplus\sqplus.h:1878: note:                 void SqPlus::Push(SQVM*, SqPlus::SQAnything*)
    ..\sqplus\sqplus.h:1879: note:                 void SqPlus::Push(SQVM*, SquirrelObject&)
    ..\sqplus\sqplus.h:1888: note:                 void SqPlus::Push(SQVM*, bool)
    ..\sqplus\sqplus.h:1889: note:                 void SqPlus::Push(SQVM*, const void*)
    ..\sqplus\sqplus.h:1890: note:                 void SqPlus::Push(SQVM*, void* const&)
    :: === Build finished: 40 errors, 0 warnings ===

    Have I done something wrong?

    Thanks,
    Edgard
  •  03-04-2007, 6:18 AM 1774 in reply to 1763

    Re: SqPlus 25 and GCC

    The snapshot on sourceforge is updated to  SQUIRREL2_1_1_sqplus_snapshot_20070304.zip
    Please check it.

View as RSS news feed in XML
Powered by Community Server, by Telligent Systems