Author Topic: Cannot compile  (Read 2910 times)

AryHann

  • Veteran
  • *
  • Posts: 1244
  • WonderWoman
    • View Profile
Cannot compile
« on: February 16, 2005, 05:07:01 pm »
Hi,

I have been trying to compile the latest CVS version of PS, after I have been updating CS with the new cs-win libs and compiled it with the latest CVS Version.

I get a compiling error:

  vmAnimCallback *callback = new vmAnimCallback; in psengine.cpp

C:\\Development\\planeshift\\src\\client\\psengine.cpp(1304): error C2259: \'vmAnimCallback\' : cannot instantiate abstract class

That is what it has been changed for the repetition of the animation while crafting (right?)

Thanks for the help,
Ary
AryHann

http://www.reflex.lth.se/culture/annelov - Virtual Annelöv -
Engine Dep. - One of Talad's Angels - Aka ww & Ahrijani's Goddess

acraig

  • Administrator
  • Veteran
  • *
  • Posts: 1562
    • View Profile
(No subject)
« Reply #1 on: February 16, 2005, 05:15:14 pm »
I believe you need to update your cal3d library. Changes where made about 14 hours ago for this fix in cal3d cvs. I\'m not sure if you built cal3d from cvs or used the winlibs package.  If you are using the winlibs package I believe there is a newer version available from Crystal Space that should have the required updates.  If the latest winlibs still don\'t work then let me know and I will ask around.
----------
Andrew
"For all I know, she's lying, everyone's lying; welcome to the Internet"

AryHann

  • Veteran
  • *
  • Posts: 1244
  • WonderWoman
    • View Profile
(No subject)
« Reply #2 on: February 16, 2005, 05:16:32 pm »
Hi,

->>> after I have been updating CS with the new cs-win libs and compiled it with the latest CVS Version

I have already got the new winlibs package.

Ary
AryHann

http://www.reflex.lth.se/culture/annelov - Virtual Annelöv -
Engine Dep. - One of Talad's Angels - Aka ww & Ahrijani's Goddess

acraig

  • Administrator
  • Veteran
  • *
  • Posts: 1562
    • View Profile
(No subject)
« Reply #3 on: February 16, 2005, 05:25:15 pm »
Ok. Can you check in:
\\CrystalSpaceLibs\\include\\cal3d\\animcallback.h and make sure its the same as: this
----------
Andrew
"For all I know, she's lying, everyone's lying; welcome to the Internet"

AryHann

  • Veteran
  • *
  • Posts: 1244
  • WonderWoman
    • View Profile
(No subject)
« Reply #4 on: February 16, 2005, 05:32:10 pm »
No, it is not.

In the winlibs package those are like this:

struct CalAnimationCallback
{
    virtual void AnimationUpdate(float anim_time,CalModel *model) = 0;
    virtual void AnimationComplete(CalModel *model) = 0;
};

Thanks to res2k, I have been solving the problem doing this in psengine.cpp

 // Not using this for now.
    void AnimationUpdate(float anim_time,CalModel *model)
    {
        //printf(\"Anim Update at time %.2f.\\n\",anim_time);
    }

    // This is used to keep animations repeating.
    void AnimationComplete(CalModel *model)
    {


Ary
PS:
but the update version is the one with the userdata thing or not?
the updated one is without
ok :-)
(if you use a class anyway, no need for userdata stuff...)
AryHann

http://www.reflex.lth.se/culture/annelov - Virtual Annelöv -
Engine Dep. - One of Talad's Angels - Aka ww & Ahrijani's Goddess

acraig

  • Administrator
  • Veteran
  • *
  • Posts: 1562
    • View Profile
(No subject)
« Reply #5 on: February 16, 2005, 05:48:23 pm »
Ok. I will have to ask res2k and Vengeance about that.  I think the updated ones should have the userdata in it.
----------
Andrew
"For all I know, she's lying, everyone's lying; welcome to the Internet"

AryHann

  • Veteran
  • *
  • Posts: 1244
  • WonderWoman
    • View Profile
(No subject)
« Reply #6 on: February 18, 2005, 05:02:00 pm »
Ok, with the new cs-win32 libs everything works.

I had to go back to when the animationupdate and animationcomplete where having void * Userdata though.

Thanks for the help,
Ary

PS: I would like to signal that pawseditor project file needs to be updated. (I have done it)
AryHann

http://www.reflex.lth.se/culture/annelov - Virtual Annelöv -
Engine Dep. - One of Talad's Angels - Aka ww & Ahrijani's Goddess

ronxena

  • Hydlaa Resident
  • *
  • Posts: 88
    • View Profile
(No subject)
« Reply #7 on: February 19, 2005, 02:39:43 pm »
I still get this message:

$ jam
...patience...
...found 1505 target(s)...
...updating 6 target(s)...
C++ ./out/msysx86/debug/src/client/psengine.o
In file included from src/client/psengine.cpp:121:
src/client/pscal3dcallback.h:24:32: cal3d/animcallback.h: No such file or directory
In file included from src/client/psengine.cpp:121:

From ./configure:
checking for libcal3d... no

---

I am using MINGW, have updated to newest CS-Win32-Libs...

I did not install Cal3D, since I use the cal3dlib.a and *.h from CS-Libs.

It seems planeshift is expecting a directory /cal3d/*.h but this directory is not existing... the directory is placed in C:\\work\\CrystalSpaceLibs\\include\\cal3d after installing the CS-Libs, but how do i tell planeshift to use C:\\work\\CrystalSpaceLibs\\include?

CS itself automatically finds the correct include-directory for Cal3D (no problem compiling newest CS with changed CAL3d-headers).

BTW: is it really necessary to include Cal3d in Planeshift? Why not encapsulate in CS where all the other Cal3d functions are located?
« Last Edit: February 19, 2005, 02:42:59 pm by ronxena »

Merlin_777

  • Wayfarer
  • *
  • Posts: 7
    • View Profile
(No subject)
« Reply #8 on: February 19, 2005, 05:34:18 pm »
Quote
Originally posted by ronxena
I still get this message:

$ jam
...patience...
...found 1505 target(s)...
...updating 6 target(s)...
C++ ./out/msysx86/debug/src/client/psengine.o
In file included from src/client/psengine.cpp:121:
src/client/pscal3dcallback.h:24:32: cal3d/animcallback.h: No such file or directory
In file included from src/client/psengine.cpp:121:

From ./configure:
checking for libcal3d... no

---

I am using MINGW, have updated to newest CS-Win32-Libs...

I did not install Cal3D, since I use the cal3dlib.a and *.h from CS-Libs.

It seems planeshift is expecting a directory /cal3d/*.h but this directory is not existing... the directory is placed in C:\\work\\CrystalSpaceLibs\\include\\cal3d after installing the CS-Libs, but how do i tell planeshift to use C:\\work\\CrystalSpaceLibs\\include?

CS itself automatically finds the correct include-directory for Cal3D (no problem compiling newest CS with changed CAL3d-headers).

BTW: is it really necessary to include Cal3d in Planeshift? Why not encapsulate in CS where all the other Cal3d functions are located?


Hi,

I\'m also having trouble compiling the lastest cvs of planeshift.

Using Visual Studio .Net
Latest CVS of CS, Cel and Cal3d, plus latest cs winlibs

Had the problem you had above, so changed my vc include directories to search c:\\crystalspace\\crystalspacelibs\\include aswell.

Now I get the following:

------ Build started: Project: apppsclient, Configuration: Debug Win32 ------

Linking...
LINK : warning LNK4098: defaultlib \'MSVCRT\' conflicts with use of other libs; use /NODEFAULTLIB:library
psengine.obj : error LNK2019: unresolved external symbol \"public: __thiscall psCal3DCallbackLoader::psCal3DCallbackLoader(struct iObjectRegistry *)\" (??0psCal3DCallbackLoader@@QAE@PAUiObjectRegistry@@@Z) referenced in function \"public: __thiscall psEngine::psEngine(struct iObjectRegistry *)\" (??0psEngine@@QAE@PAUiObjectRegistry@@@Z)
psbuild\\debug\\temp\\apppsclient\\psclient.exe : fatal error LNK1120: 1 unresolved externals

Build log was saved at \"file://c:\\CrystalSpace\\planeshift\\mk\\visualc7.1\\psbuild\\debug\\apppsclient\\BuildLog.htm\"
apppsclient - 2 error(s), 1 warning(s)


Ideas?

ronxena

  • Hydlaa Resident
  • *
  • Posts: 88
    • View Profile
(No subject)
« Reply #9 on: February 19, 2005, 07:21:23 pm »
To fake the planeshift build on MINGW I simply copied the cal3d-include-directory to the system-include directory (c:/mingw/include), not the fine way - but that worked for me... I can compile the beast again.

@merlin777: strange, that error on linking. Looks like you also must specify the path to cal3d libraries...
Before last update planeshift was never linked/compiled directly against cal3d.

Merlin_777

  • Wayfarer
  • *
  • Posts: 7
    • View Profile
(No subject)
« Reply #10 on: February 19, 2005, 10:25:51 pm »
Quote
Originally posted by ronxena
To fake the planeshift build on MINGW I simply copied the cal3d-include-directory to the system-include directory (c:/mingw/include), not the fine way - but that worked for me... I can compile the beast again.

@merlin777: strange, that error on linking. Looks like you also must specify the path to cal3d libraries...
Before last update planeshift was never linked/compiled directly against cal3d.


I have. Tried using cal3d includes/libs from just the cswinlibs package, then from just the latest cal3d cvs build. Still the same error. Driving me nuts

AryHann

  • Veteran
  • *
  • Posts: 1244
  • WonderWoman
    • View Profile
(No subject)
« Reply #11 on: February 20, 2005, 12:04:00 pm »
Quote
Originally posted by ronxena
I still get this message:

$ jam
...patience...
...found 1505 target(s)...
...updating 6 target(s)...
C++ ./out/msysx86/debug/src/client/psengine.o
In file included from src/client/psengine.cpp:121:
src/client/pscal3dcallback.h:24:32: cal3d/animcallback.h: No such file or directory
In file included from src/client/psengine.cpp:121:

From ./configure:
checking for libcal3d... no

---

I am using MINGW, have updated to newest CS-Win32-Libs...


I don\'t use MINGW, but I have been trying to look up at the compile guide that there is in the docs section of PS CVS.
Quote

I did not install Cal3D, since I use the cal3dlib.a and *.h from CS-Libs.

From what I can read from that file (http://cvs.sourceforge.net/viewcvs.py/planeshift/planeshift/docs/compiling-mingw32.txt?view=markup) you should have also installed Cal3D under development.. isn\'t it?

Ary

EDIT: I saw afterwards that you solved your problem...
« Last Edit: February 20, 2005, 12:07:10 pm by AryHann »
AryHann

http://www.reflex.lth.se/culture/annelov - Virtual Annelöv -
Engine Dep. - One of Talad's Angels - Aka ww & Ahrijani's Goddess

AryHann

  • Veteran
  • *
  • Posts: 1244
  • WonderWoman
    • View Profile
(No subject)
« Reply #12 on: February 20, 2005, 12:11:34 pm »
@Merlin_777. I use MSVC 7.1 and as you see above I have been able to compile perfectly with the latest cs-win32 libs.

Are you sure you haven\'t messed up with the placement of the libs and the includes?

I would suggest to check that the things are like this :
http://cvs.sourceforge.net/viewcvs.py/planeshift/planeshift/docs/compiling-visualc.txt?view=markup

And that the libs are installed correctly in the right position.

Ary
AryHann

http://www.reflex.lth.se/culture/annelov - Virtual Annelöv -
Engine Dep. - One of Talad's Angels - Aka ww & Ahrijani's Goddess

Merlin_777

  • Wayfarer
  • *
  • Posts: 7
    • View Profile
(No subject)
« Reply #13 on: February 20, 2005, 12:21:48 pm »
Quote
Originally posted by AryHann
@Merlin_777. I use MSVC 7.1 and as you see above I have been able to compile perfectly with the latest cs-win32 libs.

Are you sure you haven\'t messed up with the placement of the libs and the includes?

I would suggest to check that the things are like this :
http://cvs.sourceforge.net/viewcvs.py/planeshift/planeshift/docs/compiling-visualc.txt?view=markup

And that the libs are installed correctly in the right position.

Ary


That\'s exactly what I did. Only difference is I have all my cs related files in C:\\CrystalSpace instead of C:\\development (so c:\\crystalspace\\cs, c:\\crystalspace\\planeshift, etc), I assume C:\\development isn\'t hardcoded in somewhere?

If it\'s clearly just a problem with something I\'m doing, I think I\'ll reinstall the libs, and if that fails remove and rebuild the whole lot.

AryHann

  • Veteran
  • *
  • Posts: 1244
  • WonderWoman
    • View Profile
(No subject)
« Reply #14 on: February 20, 2005, 12:26:49 pm »
No, the development thing is not hardcoded at all!

I am just afraid that the libs didn\'t uninstall correctly and that there is some .. confusion for them!

Ary
AryHann

http://www.reflex.lth.se/culture/annelov - Virtual Annelöv -
Engine Dep. - One of Talad's Angels - Aka ww & Ahrijani's Goddess