Guide to Compile OgreNewt2

marc_antoine

04-11-2009 04:39:41

UPDATE November 15 2009 [Compiling without CMake!!]
Compiling ogreNewt with cMake came with some issues:

* the .lib file is not automatically created
* the Debug files created doesn't work

So following the suggestion from westPointer i give it a shot to the Vc++ 2008 Solution and i have been succesfull in greating the dll and the lib files as well as compiling the demos in Debug configuration

here is a new guide i have done (thnk you westpointer for the help!!) to compile it properly without CMake :
http://www.ogre3d.org/addonforums/viewtopic.php?f=4&t=11510&start=15#p65982

Marc.
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

[Compiling With CMake]

Well i have found myself with this situation since a couple days now, and finally i got it to compile, it is not as hard as it may seems, the problem lays under alot of information here and ther, and hope this helps newcomers, but for the sake of this "how-to" i assume you know how to do a checkout from the SVN and you already have a SVN app to do the cheackout... ok...let's get started...


  1. 0.-Getting Ogre3d SDK
    1.-Getting Newton 2.10
    2.-Getting OgreNewt2 SVN
    3.-Getting CMake 2.6.4
    4.-Setting Cmake
    5.-Generating the Build
    6.-Getting boost libraries 1.40
    7.-Compiling with VC++ 2008 Express Edition
    [/list:u]

    0.-Getting Ogre3d SDK
    Well i compilled this against ogre 1.62, and i think you will not have any problems with ogre 1.63 or 1.64. So be sure you have an ogre 1.6x sdk in your system.
    1.-Getting Newton 2.10
    by now i'm starting to use Newton 2.10, is the most recent version and only available for windows, it can be downloaded form here:
    http://newtondynamics.com/forum/downloads.php

    2.-Getting OgreNewt2 SVN
    for checkingout the SVN version of ogreNewt i'm using an app called tortoise, it can be downloaded from here:
    http://tortoisesvn.net/downloads
    of course use anyone you are up to.. :D ... the SVN directory is this:
    https://svn.ogre3d.org/svnroot/ogreaddons/branches/ogrenewt/newton20

    Do the checkout and move on to the next step :)

    3.-Getting CMake
    Cmake is a nice app that helps witht he hassle of the crosscompiling of code and projects.. :) if you have been in the unix environment for a while you might have used it for at least a couple of times.. with cmake we will create a build project configured to be compiled with VC++ 200 Express Edition or any other compiler :) .. well you can download the latest version which is 2.6.4 from here: http://www.cmake.org/cmake/resources/software.html

    4.-Setting Cmake

    there's not much to be done about setting CMake since CMake does this on it's own reading the configuration script from the svn folder you checked out in step 2, if some directories can't be found then you'll have to set them manually.. so, execute cMake and inthe option asking "Where is the source code" hit the browse button and look for the folder where you checked out ogreNewt, by default and if you didn't changed anything it should be in the folder named "newton20" ....if you didn't.. look for the folder where you did the check out...

    well now the second option is labeled "Where to build the binaries", in this option i set the path to a folder i created... named "ogreNewt20Build" , there is where i would like to genereate the configured VS project, of course you can choose any directory or choose to generate it int he same place is the source... so it is up to you..

    once you set the first two options hit the "configure" button at the bottom of the window and i bet cMake will telll you it couldn't find the include and libs directories for Newton.. :) that's ok, since configuring this is an interative process.. and it is not over if you still have red indicators int he cMake GUI... well you have some options one of them is to edit the script to find Newton, but it is not necessary since it only needs to be specified where are the include and the Libs directories.. so... i set them like this:

    [attachment=1]cMakeConf.jpg[/attachment]

    Once you do the propper changes in the Newton paths, hit the "configure" Botton again and you should have a window like this:


    [attachment=2]cMakeConf2.jpg[/attachment]
    5.-Generating the Build
    when done, hit the "ok" button, and the cMake window will close... by now if you look into the build directory you will find the projects for VC++, opening the BUILD_ALL project will generate the solution.. but i think this woul happens automatically by opening anyone of the projects there... if you choosed to build the projects in the same directory as the ource detecting this files is not as obvious but they are there.. ok, by now don't Rebuild the solution unless you already habe the boost libraries... if the answer is no, then go to step 6 , but if you do, then go to step 7 :)

    6.-Getting boost libraries 1.40
    well, ogreNewt uses the latest boost libraries.. so give him what he wants!!! lol... well i found some posts askig for boost if you can use the ones from the 1.53 version ans stuff like that.. well don't try to mix stuff, this is like mixing batteries or something.. get libraries version 1.40 and you'll be fine!... this is the URL: http://www.boost.org/users/download/. When done downloading the zip file.. just extract it to a folder where you can find them....so you won't have mistakes when typying the path in VS include Dirs... ok we are done here.. move tot he final step..

    7.-Compiling with VC++ 2008 Express Edition

    i'm using VS2008 Express Editon, but anyway this is the same in any other VS at least in 2005 and 2008,ok anyway you can add the boost dir in two plces, in your global Include dirs or in the solution specifici include directories. i did it in the global include directories, since boost are libraries used in many other wrappers i.E the OpenAl wrapper i think.... actually i don't remember lol, so excuse me.. well open the Build directory (if you created one like me, or just open the solution if your configured files are int he same source directory of ogrenewt).. open the ogrenewt solution o open the pgrenewt project anyone.. then in the "tools" option select properties and add in the "include dirs" section, the boost directory :

    [attachment=0]vc2008Express.jpg[/attachment]

    then hit ok, and you are done, right click the solution and choose "Rebuild Solution", i'm using the Release Configuration... for this.. and that's it.. the compiler should display something like this at the end: "========== Rebuild All: 3 succeeded, 0 failed, 2 skipped =========="
    in the Release folder there should be a OgreNewt.dll, if you need the .lib then set it as a static library in the porperties of the ogreNewt project, i'm using the x32 version since i'll be using it x64 and x32 systems, but if you want to compile only for x64 then you can choose to do so configuring everything from cMake :) hope this helps, and maybe the ogreNewt forum admins would liek to convert this post into a wiki tut... comment's??? they are very wel received, please let me know, and leave your comments!.

    Have fun!!
    Marc.

westpointer

09-11-2009 15:20:43

Thanks for your guide. I followed your guide and finally compiled OgreNewt2 successfully, but I find a problem,
the problem is it doesn't generate the import lib for dll.
In my release and debug directory:

marc_antoine

09-11-2009 20:44:32

in the Release folder there should be a OgreNewt.dll, if you need the .lib then set it as a static library in the porperties of the ogreNewt project

:) hehehe.. but is ok just to make it clear..

1.-Right click the OgreNewt project
2.-From the Pop-Up menu Select Properties
3.-In the porperties window select the output to be a .lib file

[attachment=0]project setup.jpg[/attachment]

when you compile your .dll will not be erased from the folder, and you will see the .lib there :) hope this helps.

oramia

09-11-2009 22:35:40

you're my star, it compiles OK, just one thing to add, you need the ogre SDK already installed to keep things working, I got confused at first thinking that newton20 is the ogre itself (as newton being its internal name lol), whatever, everything is fine now

westpointer

10-11-2009 02:34:30

in the Release folder there should be a OgreNewt.dll, if you need the .lib then set it as a static library in the porperties of the ogreNewt project

:) hehehe.. but is ok just to make it clear..

1.-Right click the OgreNewt project
2.-From the Pop-Up menu Select Properties
3.-In the porperties window select the output to be a .lib file

Maybe you misunderstand what I mean. I know that usually when you generate a DLL, there will be a correspondent import library for the DLL.
So if the import lib is not generated, I have to use the LoadLibary function to use the DLL which is not convenient.
A Import library is different from a Static library if I recollect right.
And what I want is the Import lib not the Static lib, So I wonder why the import lib is not generated properly.

marc_antoine

10-11-2009 03:18:07

lol, yeah you have to have ogre SDK or Source in your computer... it is ok i will put a note about that :) i'm happy this helped ormia, also i hope the .lib thingy was what westpointer needed..

Compilling the demos that come with the SVN is kinda an itch with CMake, but you can get them to compile them perfectly well without CMake once you have you IDE properly configured and you got your dll's or lib's of ogreNewt.... somehow th eonly demo i can't get it to work fine is the one for bouyancy and for the simpleVehicle demo... maybe they have some issues since Newton 2.0 is beta, so i hope everything works fine when ogre is released

cheers! :)

marc_antoine

10-11-2009 03:35:18

westPointer,
well maybe it has to do with some configuration in the CMake script, but by now generating the static lib and using it seems not to have any issues.. i'll try to take a look to the CMake script and the Visual c++ project properties, if you find out something, please post it here to help others..

thank you westpointer :).

westpointer

11-11-2009 02:26:21

I meet another problem generating the Static Library.
When I compile the project with the "code generation" set to: DEBUG -> "multithread debug DLL",
it gives me "error C2027: use undefined type 'Ogre::LogManager' " in OgreNewt_BasicFrameListener.cpp

marc_antoine

11-11-2009 03:41:17

when compilling have you tryed changing the newton lib for the one in the folder named "lib_vs9_md"??... maybe this is the one for Multithreaded Debug, i used the one from "dll_vs9" when i configured the project in CMake, also have you tryed to choose from the configuration manager the option "RelWithDebInfo"

westpointer

12-11-2009 03:36:43

I think there maybe some problem configurate the VS2003 project using CMake or I did not configurated CMake right. Anyway, it finally compiled OK,
and I have used it in my project to upgrade from 1.53 to 2.0. Here is what I have done:

1. I re-configurated the VS2003 project generated by CMake according to the VS2005 project which is already exist in the newton20 folder;
2. After step 1, it still gave me "error C2027: use undefined type 'Ogre::LogManager' " in OgreNewt_BasicFrameListener.cpp.
I added "# include <OgreLogManager.h> # include <OgreStringConverter.h>" to the OgreNewt_BasicFrameListener.cpp. to fix it:
3. Compiled successfully, and I got OgreNewt_d.dll and the import lib: OgreNewt_d.lib.

But there is a problem using it in my project. When I use importCollision function of OgreNewt::CollisionSerializer, VS2003 output window shows "Detected memory leaks!".
after I comment the importCollision function, it is just ok. I am not sure whether it is a false alarm of VS2003 or it is Newton2.0's problem.
BTW, I use Newton 2.10, but I am not sure what the version of Newton Game Dynamics which latest svn(https://svn.ogre3d.org/svnroot/ogreaddo ... t/newton20) uses. Can it be a problem when NGD sdk mismatch?

marc_antoine

12-11-2009 04:33:01

thank you so much westPointer, i bet this will help alot, many users that wish to use OgreNewt and Newton 2.

For the version mismatch therory, i have the same doubts , becouse taking a look in the "New Version Update" (http://www.ogre3d.org/addonforums/viewtopic.php?f=4&t=980&start=75) thread, which has a lot of ogreNewt 1.53 and ogre Newt 2.0 mixed info, the SVN version was last updated for a SDK version between 2.02 and 2.06 and it is normal that some stuff have changed by the version 2.10 and i do believe that some of the issues you pointed can be produced for that. Hope soon we will see a final release for the wrapper and the SDK. meanwhile i encourage to all newcomers or typical users of ogreNewt and Newton that step into problems regarding to ogreNewt 2, to post them here as well as their solutions.

MArc.

oramia

13-11-2009 09:06:41

I think it is a good idea to sticky this thread

prchakal

13-11-2009 13:18:37

I have followed this all, but when i try compile my project with OgreNewt i get this errors:

1>------ Rebuild All started: Project: ZombieIsland, Configuration: Debug Win32 ------
1>Deleting intermediate and output files for project 'ZombieIsland', configuration 'Debug|Win32'
1>Compiling...
1>Aplicacao.cpp
1>Engine.cpp
1>EngineFrameListener.cpp
1>EngineMap.cpp
1>ExtendedCamera.cpp
1>main.cpp
1>Player.cpp
1>Generating Code...
1>Compiling manifest to resources...
1>Microsoft (R) Windows (R) Resource Compiler Version 6.0.5724.0
1>Copyright (C) Microsoft Corporation. All rights reserved.
1>Linking...
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::~basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(void)" (??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ) already defined in OgreNewt.lib(OgreNewt_World.obj)
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(char const *)" (??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z) already defined in OgreNewt.lib(OgreNewt_World.obj)
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z) already defined in OgreNewt.lib(OgreNewt_World.obj)
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: char const * __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::c_str(void)const " (?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ) already defined in OgreNewt.lib(OgreNewt_World.obj)
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "protected: char * __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Myptr(void)" (?_Myptr@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEPADXZ) already defined in OgreNewt.lib(OgreNewt_World.obj)
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::operator=(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (??4?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@ABV01@@Z) already defined in OgreNewt.lib(OgreNewt_Tools.obj)
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl std::operator+<char,struct std::char_traits<char>,class std::allocator<char> >(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,char const *)" (??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@PBD@Z) already defined in OgreNewt.lib(OgreNewt_Tools.obj)
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: void __thiscall std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`vbase destructor'(void)" (??_D?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ) already defined in OgreNewt.lib(OgreNewt_Debugger.obj)
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::str(void)const " (?str@?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ) already defined in OgreNewt.lib(OgreNewt_Debugger.obj)
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: __thiscall std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >(int)" (??0?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@H@Z) already defined in OgreNewt.lib(OgreNewt_Debugger.obj)
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl std::operator+<char,struct std::char_traits<char>,class std::allocator<char> >(char const *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBDABV10@@Z) already defined in OgreNewt.lib(OgreNewt_Tools.obj)
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: class std::locale::facet * __thiscall std::locale::facet::_Decref(void)" (?_Decref@facet@locale@std@@QAEPAV123@XZ) already defined in OgreNewt.lib(OgreNewt_Debugger.obj)
1>libcpmt.lib(ios.obj) : error LNK2005: "public: static void __cdecl std::ios_base::_Addstd(class std::ios_base *)" (?_Addstd@ios_base@std@@SAXPAV12@@Z) already defined in msvcprtd.lib(MSVCP90D.dll)
1>libcpmt.lib(ios.obj) : error LNK2005: "private: static void __cdecl std::ios_base::_Ios_base_dtor(class std::ios_base *)" (?_Ios_base_dtor@ios_base@std@@CAXPAV12@@Z) already defined in msvcprtd.lib(MSVCP90D.dll)
1>libcpmt.lib(locale0.obj) : error LNK2005: "void __cdecl _AtModuleExit(void (__cdecl*)(void))" (?_AtModuleExit@@YAXP6AXXZ@Z) already defined in msvcprtd.lib(locale0_implib.obj)
1>libcpmt.lib(locale0.obj) : error LNK2005: "private: static class std::locale::_Locimp * __cdecl std::locale::_Getgloballocale(void)" (?_Getgloballocale@locale@std@@CAPAV_Locimp@12@XZ) already defined in msvcprtd.lib(MSVCP90D.dll)
1>libcpmt.lib(locale0.obj) : error LNK2005: __Fac_tidy already defined in msvcprtd.lib(locale0_implib.obj)
1>libcpmt.lib(locale0.obj) : error LNK2005: "private: static void __cdecl std::locale::facet::facet_Register(class std::locale::facet *)" (?facet_Register@facet@locale@std@@CAXPAV123@@Z) already defined in msvcprtd.lib(locale0_implib.obj)
1>libcpmt.lib(locale0.obj) : error LNK2005: "public: static void __cdecl std::_Locinfo::_Locinfo_dtor(class std::_Locinfo *)" (?_Locinfo_dtor@_Locinfo@std@@SAXPAV12@@Z) already defined in msvcprtd.lib(MSVCP90D.dll)
1>libcpmt.lib(locale0.obj) : error LNK2005: "public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::operator=(char const *)" (??4?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@PBD@Z) already defined in msvcprtd.lib(MSVCP90D.dll)
1>libcpmt.lib(locale0.obj) : error LNK2005: "private: static class std::locale::_Locimp * __cdecl std::locale::_Init(void)" (?_Init@locale@std@@CAPAV_Locimp@12@XZ) already defined in msvcprtd.lib(MSVCP90D.dll)
1>libcpmt.lib(locale0.obj) : error LNK2005: "public: static void __cdecl std::_Locinfo::_Locinfo_ctor(class std::_Locinfo *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?_Locinfo_ctor@_Locinfo@std@@SAXPAV12@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z) already defined in msvcprtd.lib(MSVCP90D.dll)
1>libcpmt.lib(xlock.obj) : error LNK2005: "public: __thiscall std::_Lockit::_Lockit(int)" (??0_Lockit@std@@QAE@H@Z) already defined in msvcprtd.lib(MSVCP90D.dll)
1>libcpmt.lib(xlock.obj) : error LNK2005: "public: __thiscall std::_Lockit::~_Lockit(void)" (??1_Lockit@std@@QAE@XZ) already defined in msvcprtd.lib(MSVCP90D.dll)
1>LIBCMT.lib(invarg.obj) : error LNK2005: __invoke_watson already defined in MSVCRTD.lib(MSVCR90D.dll)
1>LIBCMT.lib(invarg.obj) : error LNK2005: __invalid_parameter already defined in MSVCRTD.lib(MSVCR90D.dll)
1>LIBCMT.lib(setlocal.obj) : error LNK2005: __configthreadlocale already defined in MSVCRTD.lib(MSVCR90D.dll)
1>LIBCMT.lib(lconv.obj) : error LNK2005: _localeconv already defined in MSVCRTD.lib(MSVCR90D.dll)
1>LIBCMT.lib(tidtable.obj) : error LNK2005: __encode_pointer already defined in MSVCRTD.lib(MSVCR90D.dll)
1>LIBCMT.lib(tidtable.obj) : error LNK2005: __decode_pointer already defined in MSVCRTD.lib(MSVCR90D.dll)
1>LIBCMT.lib(crt0dat.obj) : error LNK2005: __amsg_exit already defined in MSVCRTD.lib(MSVCR90D.dll)
1>LIBCMT.lib(crt0dat.obj) : error LNK2005: __initterm_e already defined in MSVCRTD.lib(MSVCR90D.dll)
1>LIBCMT.lib(crt0dat.obj) : error LNK2005: _exit already defined in MSVCRTD.lib(MSVCR90D.dll)
1>LIBCMT.lib(crt0dat.obj) : error LNK2005: __exit already defined in MSVCRTD.lib(MSVCR90D.dll)
1>LIBCMT.lib(crt0dat.obj) : error LNK2005: __cexit already defined in MSVCRTD.lib(MSVCR90D.dll)
1>LIBCMT.lib(mlock.obj) : error LNK2005: __unlock already defined in MSVCRTD.lib(MSVCR90D.dll)
1>LIBCMT.lib(mlock.obj) : error LNK2005: __lock already defined in MSVCRTD.lib(MSVCR90D.dll)
1>LIBCMT.lib(winxfltr.obj) : error LNK2005: __XcptFilter already defined in MSVCRTD.lib(MSVCR90D.dll)
1>LIBCMT.lib(crt0init.obj) : error LNK2005: ___xi_a already defined in MSVCRTD.lib(cinitexe.obj)
1>LIBCMT.lib(crt0init.obj) : error LNK2005: ___xi_z already defined in MSVCRTD.lib(cinitexe.obj)
1>LIBCMT.lib(crt0init.obj) : error LNK2005: ___xc_a already defined in MSVCRTD.lib(cinitexe.obj)
1>LIBCMT.lib(crt0init.obj) : error LNK2005: ___xc_z already defined in MSVCRTD.lib(cinitexe.obj)
1>LIBCMT.lib(hooks.obj) : error LNK2005: "void __cdecl terminate(void)" (?terminate@@YAXXZ) already defined in MSVCRTD.lib(MSVCR90D.dll)
1>LIBCMT.lib(errmode.obj) : error LNK2005: ___set_app_type already defined in MSVCRTD.lib(MSVCR90D.dll)
1>LINK : warning LNK4098: defaultlib 'MSVCRTD' conflicts with use of other libs; use /NODEFAULTLIB:library
1>LINK : warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use /NODEFAULTLIB:library
1>LIBCMT.lib(crt0.obj) : error LNK2019: unresolved external symbol _main referenced in function ___tmainCRTStartup
1>D:\PRSoluções\Softwares\ZombieIsland\Debug\ZombieIsland.exe : fatal error LNK1120: 1 unresolved externals
1>Build log was saved at "file://d:\PRSoluções\Softwares\ZombieIsland\ZombieIsland\Debug\BuildLog.htm"
1>ZombieIsland - 46 error(s), 2 warning(s)
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========


What im do incorrect?

I have this configuration on my project:

My project settings:
--- Additional Dependencies: OgreMain_d.lib OIS_d.lib newton.lib OgreNewt.lib

--- Additional Library Directories:
D:\Downloads\Cpp\LIB\ogre_vs\lib; D:\Downloads\Cpp\LIB\newton\x32\dll_vs9; D:\Downloads\Cpp\LIB\ogre_newton\lib\debug

-- Additional Include Directories:
D:\Downloads\Cpp\LIB\ogre_vs\include; D:\Downloads\Cpp\LIB\ogre_newton\include; D:\Downloads\Cpp\LIB\newton

marc_antoine

13-11-2009 14:57:25

Have you ever tryid to compile the ogreNewt examples that comes in the SVN?, that would be a good start point to know what do you need to add in your project setting to get it work, also do your project compiled and linked succesfully before adding any ogrenewt stuff?

prchakal

14-11-2009 05:36:30

Hi, i try compile the samples, but get this errors on linking step:

1>------ Rebuild All started: Project: ZERO_CHECK, Configuration: Debug Win32 ------
1>Deleting intermediate and output files for project 'ZERO_CHECK', configuration 'Debug|Win32'
1>Checking Build System
1>CMake does not need to re-run because CMakeFiles/generate.stamp is up-to-date.
1>CMake does not need to re-run because Demo01_TheBasics/CMakeFiles/generate.stamp is up-to-date.
1>CMake does not need to re-run because Demo02_Joints/CMakeFiles/generate.stamp is up-to-date.
1>CMake does not need to re-run because Demo03_CollisionCallbacks/CMakeFiles/generate.stamp is up-to-date.
1>CMake does not need to re-run because Demo04_Raycasting/CMakeFiles/generate.stamp is up-to-date.
1>CMake does not need to re-run because Demo06_SimpleBuoyancy/CMakeFiles/generate.stamp is up-to-date.
1>CMake does not need to re-run because Demo07_CustomJoints/CMakeFiles/generate.stamp is up-to-date.
1>CMake does not need to re-run because Demo08_RagdollExample/CMakeFiles/generate.stamp is up-to-date.
1>Build log was saved at "file://d:\Downloads\Cpp\ogre\newt\ogrenewt\demos\ZERO_CHECK.dir\Debug\BuildLog.htm"
1>ZERO_CHECK - 0 error(s), 0 warning(s)
2>------ Rebuild All started: Project: Demo01_TheBasics, Configuration: Debug Win32 ------
2>Deleting intermediate and output files for project 'Demo01_TheBasics', configuration 'Debug|Win32'
2>Building Custom Rule D:/Downloads/Cpp/ogre/newt/ogrenewt/demos/Demo01_TheBasics/CMakeLists.txt
2>CMake does not need to re-run because CMakeFiles/generate.stamp is up-to-date.
2>Compiling...
2>cl : Command line warning D9002 : ignoring unknown option '-O0'
2>cl : Command line warning D9002 : ignoring unknown option '-g3'
2>cl : Command line warning D9002 : ignoring unknown option '-fno-inline'
2>OgreNewtonFrameListener.cpp
2>c:\Program Files\Microsoft Visual Studio 9.0\VC\include\xlocale(342) : warning C4530: C++ exception handler used, but unwind semantics are not enabled. Specify /EHsc
2>OgreNewtonApplication.cpp
2>c:\Program Files\Microsoft Visual Studio 9.0\VC\include\xlocale(342) : warning C4530: C++ exception handler used, but unwind semantics are not enabled. Specify /EHsc
2>demo01.cpp
2>c:\Program Files\Microsoft Visual Studio 9.0\VC\include\xlocale(342) : warning C4530: C++ exception handler used, but unwind semantics are not enabled. Specify /EHsc
2>Generating Code...
2>Compiling manifest to resources...
2>Microsoft (R) Windows (R) Resource Compiler Version 6.0.5724.0
2>Copyright (C) Microsoft Corporation. All rights reserved.
2>Linking...
2>LINK : warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use /NODEFAULTLIB:library
2>OgreNewtonApplication.obj : error LNK2019: unresolved external symbol "public: __thiscall OgreNewt::World::World(void * (__cdecl*)(int),void (__cdecl*)(void *,int))" (??0World@OgreNewt@@QAE@P6APAXH@ZP6AXPAXH@Z@Z) referenced in function "public: __thiscall OgreNewtonApplication::OgreNewtonApplication(void)" (??0OgreNewtonApplication@@QAE@XZ)
2>OgreNewtonApplication.obj : error LNK2019: unresolved external symbol "public: __thiscall OgreNewt::World::~World(void)" (??1World@OgreNewt@@QAE@XZ) referenced in function "public: void * __thiscall OgreNewt::World::`scalar deleting destructor'(unsigned int)" (??_GWorld@OgreNewt@@QAEPAXI@Z)
2>OgreNewtonApplication.obj : error LNK2019: unresolved external symbol "public: void __thiscall OgreNewt::Body::setPositionOrientation(class Ogre::Vector3 const &,class Ogre::Quaternion const &,int)" (?setPositionOrientation@Body@OgreNewt@@QAEXABVVector3@Ogre@@ABVQuaternion@4@H@Z) referenced in function "protected: virtual void __thiscall OgreNewtonApplication::createScene(void)" (?createScene@OgreNewtonApplication@@MAEXXZ)
2>OgreNewtonFrameListener.obj : error LNK2001: unresolved external symbol "public: void __thiscall OgreNewt::Body::setPositionOrientation(class Ogre::Vector3 const &,class Ogre::Quaternion const &,int)" (?setPositionOrientation@Body@OgreNewt@@QAEXABVVector3@Ogre@@ABVQuaternion@4@H@Z)
2>OgreNewtonApplication.obj : error LNK2019: unresolved external symbol "public: void __thiscall OgreNewt::Body::attachNode(class Ogre::Node *)" (?attachNode@Body@OgreNewt@@QAEXPAVNode@Ogre@@@Z) referenced in function "protected: virtual void __thiscall OgreNewtonApplication::createScene(void)" (?createScene@OgreNewtonApplication@@MAEXXZ)
2>OgreNewtonFrameListener.obj : error LNK2001: unresolved external symbol "public: void __thiscall OgreNewt::Body::attachNode(class Ogre::Node *)" (?attachNode@Body@OgreNewt@@QAEXPAVNode@Ogre@@@Z)
2>OgreNewtonApplication.obj : error LNK2019: unresolved external symbol "public: __thiscall OgreNewt::Body::Body(class OgreNewt::World const *,class boost::shared_ptr<class OgreNewt::Collision> const &,int)" (??0Body@OgreNewt@@QAE@PBVWorld@1@ABV?$shared_ptr@VCollision@OgreNewt@@@boost@@H@Z) referenced in function "protected: virtual void __thiscall OgreNewtonApplication::createScene(void)" (?createScene@OgreNewtonApplication@@MAEXXZ)
2>OgreNewtonFrameListener.obj : error LNK2001: unresolved external symbol "public: __thiscall OgreNewt::Body::Body(class OgreNewt::World const *,class boost::shared_ptr<class OgreNewt::Collision> const &,int)" (??0Body@OgreNewt@@QAE@PBVWorld@1@ABV?$shared_ptr@VCollision@OgreNewt@@@boost@@H@Z)
2>OgreNewtonApplication.obj : error LNK2019: unresolved external symbol "public: __thiscall OgreNewt::CollisionPrimitives::Cylinder::Cylinder(class OgreNewt::World const *,float,float,int,class Ogre::Quaternion const &,class Ogre::Vector3 const &)" (??0Cylinder@CollisionPrimitives@OgreNewt@@QAE@PBVWorld@2@MMHABVQuaternion@Ogre@@ABVVector3@5@@Z) referenced in function "protected: virtual void __thiscall OgreNewtonApplication::createScene(void)" (?createScene@OgreNewtonApplication@@MAEXXZ)
2>OgreNewtonFrameListener.obj : error LNK2001: unresolved external symbol "public: __thiscall OgreNewt::CollisionPrimitives::Cylinder::Cylinder(class OgreNewt::World const *,float,float,int,class Ogre::Quaternion const &,class Ogre::Vector3 const &)" (??0Cylinder@CollisionPrimitives@OgreNewt@@QAE@PBVWorld@2@MMHABVQuaternion@Ogre@@ABVVector3@5@@Z)
2>OgreNewtonApplication.obj : error LNK2019: unresolved external symbol "public: __thiscall OgreNewt::BasicFrameListener::BasicFrameListener(class Ogre::RenderWindow *,class OgreNewt::World *,int)" (??0BasicFrameListener@OgreNewt@@QAE@PAVRenderWindow@Ogre@@PAVWorld@1@H@Z) referenced in function "protected: virtual void __thiscall OgreNewtonApplication::createFrameListener(void)" (?createFrameListener@OgreNewtonApplication@@MAEXXZ)
2>OgreNewtonApplication.obj : error LNK2019: unresolved external symbol __CrtDbgReportW referenced in function "public: char const & __thiscall std::_String_const_iterator<char,struct std::char_traits<char>,class std::allocator<char> >::operator*(void)const " (??D?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEABDXZ)
2>OgreNewtonFrameListener.obj : error LNK2001: unresolved external symbol __CrtDbgReportW
2>libcpmtd.lib(stdthrow.obj) : error LNK2001: unresolved external symbol __CrtDbgReportW
2>libcpmtd.lib(xmbtowc.obj) : error LNK2001: unresolved external symbol __CrtDbgReportW
2>OgreNewtonApplication.obj : error LNK2019: unresolved external symbol "void __cdecl boost::throw_exception(class std::exception const &)" (?throw_exception@boost@@YAXABVexception@std@@@Z) referenced in function "public: __thiscall boost::detail::shared_count::shared_count<class OgreNewt::CollisionPrimitives::Cylinder>(class OgreNewt::CollisionPrimitives::Cylinder *)" (??$?0VCylinder@CollisionPrimitives@OgreNewt@@@shared_count@detail@boost@@QAE@PAVCylinder@CollisionPrimitives@OgreNewt@@@Z)
2>OgreNewtonFrameListener.obj : error LNK2001: unresolved external symbol "void __cdecl boost::throw_exception(class std::exception const &)" (?throw_exception@boost@@YAXABVexception@std@@@Z)
2>OgreNewtonFrameListener.obj : error LNK2019: unresolved external symbol "public: void __thiscall OgreNewt::Debugger::init(class Ogre::SceneManager *)" (?init@Debugger@OgreNewt@@QAEXPAVSceneManager@Ogre@@@Z) referenced in function "public: __thiscall OgreNewtonFrameListener::OgreNewtonFrameListener(class Ogre::RenderWindow *,class Ogre::Camera *,class Ogre::SceneManager *,class OgreNewt::World *)" (??0OgreNewtonFrameListener@@QAE@PAVRenderWindow@Ogre@@PAVCamera@2@PAVSceneManager@2@PAVWorld@OgreNewt@@@Z)
2>OgreNewtonFrameListener.obj : error LNK2019: unresolved external symbol "public: void __thiscall OgreNewt::Debugger::stopRaycastRecording(void)" (?stopRaycastRecording@Debugger@OgreNewt@@QAEXXZ) referenced in function "public: virtual bool __thiscall OgreNewtonFrameListener::frameStarted(struct Ogre::FrameEvent const &)" (?frameStarted@OgreNewtonFrameListener@@UAE_NABUFrameEvent@Ogre@@@Z)
2>OgreNewtonFrameListener.obj : error LNK2019: unresolved external symbol "public: void __thiscall OgreNewt::Debugger::hideDebugInformation(void)" (?hideDebugInformation@Debugger@OgreNewt@@QAEXXZ) referenced in function "public: virtual bool __thiscall OgreNewtonFrameListener::frameStarted(struct Ogre::FrameEvent const &)" (?frameStarted@OgreNewtonFrameListener@@UAE_NABUFrameEvent@Ogre@@@Z)
2>OgreNewtonFrameListener.obj : error LNK2019: unresolved external symbol "public: void __thiscall OgreNewt::Debugger::clearRaycastsRecorded(void)" (?clearRaycastsRecorded@Debugger@OgreNewt@@QAEXXZ) referenced in function "public: virtual bool __thiscall OgreNewtonFrameListener::frameStarted(struct Ogre::FrameEvent const &)" (?frameStarted@OgreNewtonFrameListener@@UAE_NABUFrameEvent@Ogre@@@Z)
2>OgreNewtonFrameListener.obj : error LNK2019: unresolved external symbol "public: void __thiscall OgreNewt::Debugger::startRaycastRecording(bool)" (?startRaycastRecording@Debugger@OgreNewt@@QAEX_N@Z) referenced in function "public: virtual bool __thiscall OgreNewtonFrameListener::frameStarted(struct Ogre::FrameEvent const &)" (?frameStarted@OgreNewtonFrameListener@@UAE_NABUFrameEvent@Ogre@@@Z)
2>OgreNewtonFrameListener.obj : error LNK2019: unresolved external symbol "public: void __thiscall OgreNewt::Debugger::showDebugInformation(void)" (?showDebugInformation@Debugger@OgreNewt@@QAEXXZ) referenced in function "public: virtual bool __thiscall OgreNewtonFrameListener::frameStarted(struct Ogre::FrameEvent const &)" (?frameStarted@OgreNewtonFrameListener@@UAE_NABUFrameEvent@Ogre@@@Z)
2>OgreNewtonFrameListener.obj : error LNK2019: unresolved external symbol "public: void __thiscall OgreNewt::Body::setStandardForceCallback(void)" (?setStandardForceCallback@Body@OgreNewt@@QAEXXZ) referenced in function "public: virtual bool __thiscall OgreNewtonFrameListener::frameStarted(struct Ogre::FrameEvent const &)" (?frameStarted@OgreNewtonFrameListener@@UAE_NABUFrameEvent@Ogre@@@Z)
2>OgreNewtonFrameListener.obj : error LNK2019: unresolved external symbol "public: void __thiscall OgreNewt::Body::setMassMatrix(float,class Ogre::Vector3 const &)" (?setMassMatrix@Body@OgreNewt@@QAEXMABVVector3@Ogre@@@Z) referenced in function "public: virtual bool __thiscall OgreNewtonFrameListener::frameStarted(struct Ogre::FrameEvent const &)" (?frameStarted@OgreNewtonFrameListener@@UAE_NABUFrameEvent@Ogre@@@Z)
2>OgreNewtonFrameListener.obj : error LNK2019: unresolved external symbol __imp__NewtonConvexCollisionCalculateInertialMatrix referenced in function "public: void __thiscall OgreNewt::ConvexCollision::calculateInertialMatrix(class Ogre::Vector3 &,class Ogre::Vector3 &)const " (?calculateInertialMatrix@ConvexCollision@OgreNewt@@QBEXAAVVector3@Ogre@@0@Z)
2>OgreNewtonFrameListener.obj : error LNK2019: unresolved external symbol __imp__NewtonSetThreadsCount referenced in function "public: void __thiscall OgreNewt::World::setThreadCount(int)" (?setThreadCount@World@OgreNewt@@QAEXH@Z)
2>OgreNewtonFrameListener.obj : error LNK2019: unresolved external symbol __imp__NewtonGetThreadsCount referenced in function "public: int __thiscall OgreNewt::World::getThreadCount(void)const " (?getThreadCount@World@OgreNewt@@QBEHXZ)
2>OgreNewtonFrameListener.obj : error LNK2019: unresolved external symbol __imp__NewtonBodySetCentreOfMass referenced in function "public: void __thiscall OgreNewt::Body::setCenterOfMass(class Ogre::Vector3 const &)" (?setCenterOfMass@Body@OgreNewt@@QAEXABVVector3@Ogre@@@Z)
2>OgreNewtonFrameListener.obj : error LNK2019: unresolved external symbol __imp__NewtonBodySetVelocity referenced in function "public: void __thiscall OgreNewt::Body::setVelocity(class Ogre::Vector3 const &)" (?setVelocity@Body@OgreNewt@@QAEXABVVector3@Ogre@@@Z)
2>libcpmtd.lib(xdebug.obj) : error LNK2019: unresolved external symbol __malloc_dbg referenced in function "void * __cdecl operator new(unsigned int,struct std::_DebugHeapTag_t const &,char *,int)" (??2@YAPAXIABU_DebugHeapTag_t@std@@PADH@Z)
2>libcpmtd.lib(xmbtowc.obj) : error LNK2001: unresolved external symbol __malloc_dbg
2>libcpmtd.lib(xdebug.obj) : error LNK2019: unresolved external symbol __free_dbg referenced in function "void __cdecl operator delete(void *,struct std::_DebugHeapTag_t const &,char *,int)" (??3@YAXPAXABU_DebugHeapTag_t@std@@PADH@Z)
2>libcpmtd.lib(xmbtowc.obj) : error LNK2001: unresolved external symbol __free_dbg
2>libcpmtd.lib(_tolower.obj) : error LNK2019: unresolved external symbol __calloc_dbg referenced in function __Getctype
2>LIBCMT.lib(crt0.obj) : error LNK2019: unresolved external symbol _main referenced in function ___tmainCRTStartup
2>D:\Downloads\Cpp\ogre\newt\ogrenewt\demos\bin\Debug\Demo01_TheBasics.exe : fatal error LNK1120: 26 unresolved externals
2>Build log was saved at "file://d:\Downloads\Cpp\ogre\newt\ogrenewt\demos\Demo01_TheBasics\Demo01_TheBasics.dir\Debug\BuildLog.htm"
2>Demo01_TheBasics - 37 error(s), 7 warning(s)
========== Rebuild All: 1 succeeded, 1 failed, 0 skipped ==========


Do you have a DLL and LIB compiled on windows and visual studio 2008 to send me? :(

marc_antoine

14-11-2009 06:40:42

prchakal,
i created a guide of what can eb done to alternatively compile the Demos without CMake, take it a look.. and see if there is something missing i bet is just a configuration issue int he paths or something, but first you need to get to compile the ogreNewt dll and lib fine...

http://www.ogre3d.org/addonforums/viewtopic.php?f=4&t=11607

prchakal

14-11-2009 12:51:32

Hi marc_antoine,

But the tutorial is for Ogre 1.6.2 and my Ogre is 1.6.4, no problem for this?

prchakal

14-11-2009 14:04:55

Hi marc_antoine,

I follow this other tutorial that you say, but when linking i get the error:

1>------ Rebuild All started: Project: demo01, Configuration: Debug Win32 ------
1>Deleting intermediate and output files for project 'demo01', configuration 'Debug|Win32'
1>Compiling...
1>demo01.cpp
1>OgreNewtonApplication.cpp
1>OgreNewtonFrameListener.cpp
1>Generating Code...
1>Compiling manifest to resources...
1>Microsoft (R) Windows (R) Resource Compiler Version 6.0.5724.0
1>Copyright (C) Microsoft Corporation. All rights reserved.
1>Linking...
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: char const * __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::c_str(void)const " (?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ) already defined in OgreNewt.lib(OgreNewt_World.obj)
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::~basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(void)" (??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ) already defined in OgreNewt.lib(OgreNewt_World.obj)
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::operator=(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (??4?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@ABV01@@Z) already defined in OgreNewt.lib(OgreNewt_Tools.obj)
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl std::operator+<char,struct std::char_traits<char>,class std::allocator<char> >(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,char const *)" (??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@PBD@Z) already defined in OgreNewt.lib(OgreNewt_Tools.obj)
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(char const *)" (??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z) already defined in OgreNewt.lib(OgreNewt_World.obj)
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: void __thiscall std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`vbase destructor'(void)" (??_D?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ) already defined in OgreNewt.lib(OgreNewt_Debugger.obj)
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::str(void)const " (?str@?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ) already defined in OgreNewt.lib(OgreNewt_Debugger.obj)
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: __thiscall std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >(int)" (??0?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@H@Z) already defined in OgreNewt.lib(OgreNewt_Debugger.obj)
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z) already defined in OgreNewt.lib(OgreNewt_World.obj)
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl std::operator+<char,struct std::char_traits<char>,class std::allocator<char> >(char const *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBDABV10@@Z) already defined in OgreNewt.lib(OgreNewt_Tools.obj)
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "protected: char * __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Myptr(void)" (?_Myptr@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEPADXZ) already defined in OgreNewt.lib(OgreNewt_World.obj)
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: void __thiscall std::basic_ios<char,struct std::char_traits<char> >::setstate(int,bool)" (?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXH_N@Z) already defined in OgreNewt.lib(OgreNewt_Body.obj)
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: int __thiscall std::ios_base::width(int)" (?width@ios_base@std@@QAEHH@Z) already defined in OgreNewt.lib(OgreNewt_Body.obj)
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::sputn(char const *,int)" (?sputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHPBDH@Z) already defined in OgreNewt.lib(OgreNewt_Debugger.obj)
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: static bool __cdecl std::char_traits<char>::eq_int_type(int const &,int const &)" (?eq_int_type@?$char_traits@D@std@@SA_NABH0@Z) already defined in OgreNewt.lib(OgreNewt_Body.obj)
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: static int __cdecl std::char_traits<char>::eof(void)" (?eof@?$char_traits@D@std@@SAHXZ) already defined in OgreNewt.lib(OgreNewt_Body.obj)
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::sputc(char)" (?sputc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHD@Z) already defined in OgreNewt.lib(OgreNewt_Body.obj)
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: class std::basic_streambuf<char,struct std::char_traits<char> > * __thiscall std::basic_ios<char,struct std::char_traits<char> >::rdbuf(void)const " (?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@XZ) already defined in OgreNewt.lib(OgreNewt_Body.obj)
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: char __thiscall std::basic_ios<char,struct std::char_traits<char> >::fill(void)const " (?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDXZ) already defined in OgreNewt.lib(OgreNewt_Body.obj)
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: int __thiscall std::ios_base::flags(void)const " (?flags@ios_base@std@@QBEHXZ) already defined in OgreNewt.lib(OgreNewt_Body.obj)
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: int __thiscall std::ios_base::width(void)const " (?width@ios_base@std@@QBEHXZ) already defined in OgreNewt.lib(OgreNewt_Body.obj)
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: static unsigned int __cdecl std::char_traits<char>::length(char const *)" (?length@?$char_traits@D@std@@SAIPBD@Z) already defined in OgreNewt.lib(OgreNewt_World.obj)
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::flush(void)" (?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@XZ) already defined in OgreNewt.lib(OgreNewt_Body.obj)
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: class std::basic_ostream<char,struct std::char_traits<char> > * __thiscall std::basic_ios<char,struct std::char_traits<char> >::tie(void)const " (?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_ostream@DU?$char_traits@D@std@@@2@XZ) already defined in OgreNewt.lib(OgreNewt_Body.obj)
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: bool __thiscall std::ios_base::good(void)const " (?good@ios_base@std@@QBE_NXZ) already defined in OgreNewt.lib(OgreNewt_Body.obj)
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: void __thiscall std::basic_ostream<char,struct std::char_traits<char> >::_Osfx(void)" (?_Osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEXXZ) already defined in OgreNewt.lib(OgreNewt_Body.obj)
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: void __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::_Lock(void)" (?_Lock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEXXZ) already defined in OgreNewt.lib(OgreNewt_Body.obj)
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: void __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::_Unlock(void)" (?_Unlock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEXXZ) already defined in OgreNewt.lib(OgreNewt_Body.obj)
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: class std::locale::facet * __thiscall std::locale::facet::_Decref(void)" (?_Decref@facet@locale@std@@QAEPAV123@XZ) already defined in OgreNewt.lib(OgreNewt_Body.obj)
1>libcpmt.lib(locale0.obj) : error LNK2005: "void __cdecl _AtModuleExit(void (__cdecl*)(void))" (?_AtModuleExit@@YAXP6AXXZ@Z) already defined in msvcprtd.lib(locale0_implib.obj)
1>libcpmt.lib(locale0.obj) : error LNK2005: "private: static class std::locale::_Locimp * __cdecl std::locale::_Getgloballocale(void)" (?_Getgloballocale@locale@std@@CAPAV_Locimp@12@XZ) already defined in msvcprtd.lib(MSVCP90D.dll)
1>libcpmt.lib(locale0.obj) : error LNK2005: __Fac_tidy already defined in msvcprtd.lib(locale0_implib.obj)
1>libcpmt.lib(locale0.obj) : error LNK2005: "private: static void __cdecl std::locale::facet::facet_Register(class std::locale::facet *)" (?facet_Register@facet@locale@std@@CAXPAV123@@Z) already defined in msvcprtd.lib(locale0_implib.obj)
1>libcpmt.lib(locale0.obj) : error LNK2005: "public: static void __cdecl std::_Locinfo::_Locinfo_dtor(class std::_Locinfo *)" (?_Locinfo_dtor@_Locinfo@std@@SAXPAV12@@Z) already defined in msvcprtd.lib(MSVCP90D.dll)
1>libcpmt.lib(locale0.obj) : error LNK2005: "public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::operator=(char const *)" (??4?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@PBD@Z) already defined in msvcprtd.lib(MSVCP90D.dll)
1>libcpmt.lib(locale0.obj) : error LNK2005: "private: static class std::locale::_Locimp * __cdecl std::locale::_Init(void)" (?_Init@locale@std@@CAPAV_Locimp@12@XZ) already defined in msvcprtd.lib(MSVCP90D.dll)
1>libcpmt.lib(locale0.obj) : error LNK2005: "public: static void __cdecl std::_Locinfo::_Locinfo_ctor(class std::_Locinfo *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?_Locinfo_ctor@_Locinfo@std@@SAXPAV12@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z) already defined in msvcprtd.lib(MSVCP90D.dll)
1>libcpmt.lib(ios.obj) : error LNK2005: "public: static void __cdecl std::ios_base::_Addstd(class std::ios_base *)" (?_Addstd@ios_base@std@@SAXPAV12@@Z) already defined in msvcprtd.lib(MSVCP90D.dll)
1>libcpmt.lib(ios.obj) : error LNK2005: "private: static void __cdecl std::ios_base::_Ios_base_dtor(class std::ios_base *)" (?_Ios_base_dtor@ios_base@std@@CAXPAV12@@Z) already defined in msvcprtd.lib(MSVCP90D.dll)
1>libcpmt.lib(xlock.obj) : error LNK2005: "public: __thiscall std::_Lockit::_Lockit(int)" (??0_Lockit@std@@QAE@H@Z) already defined in msvcprtd.lib(MSVCP90D.dll)
1>libcpmt.lib(xlock.obj) : error LNK2005: "public: __thiscall std::_Lockit::~_Lockit(void)" (??1_Lockit@std@@QAE@XZ) already defined in msvcprtd.lib(MSVCP90D.dll)
1>LIBCMT.lib(invarg.obj) : error LNK2005: __invoke_watson already defined in MSVCRTD.lib(MSVCR90D.dll)
1>LIBCMT.lib(invarg.obj) : error LNK2005: __invalid_parameter already defined in MSVCRTD.lib(MSVCR90D.dll)
1>LIBCMT.lib(setlocal.obj) : error LNK2005: __configthreadlocale already defined in MSVCRTD.lib(MSVCR90D.dll)
1>LIBCMT.lib(lconv.obj) : error LNK2005: _localeconv already defined in MSVCRTD.lib(MSVCR90D.dll)
1>LIBCMT.lib(tidtable.obj) : error LNK2005: __encode_pointer already defined in MSVCRTD.lib(MSVCR90D.dll)
1>LIBCMT.lib(tidtable.obj) : error LNK2005: __decode_pointer already defined in MSVCRTD.lib(MSVCR90D.dll)
1>LIBCMT.lib(crt0dat.obj) : error LNK2005: __amsg_exit already defined in MSVCRTD.lib(MSVCR90D.dll)
1>LIBCMT.lib(crt0dat.obj) : error LNK2005: __initterm_e already defined in MSVCRTD.lib(MSVCR90D.dll)
1>LIBCMT.lib(crt0dat.obj) : error LNK2005: _exit already defined in MSVCRTD.lib(MSVCR90D.dll)
1>LIBCMT.lib(crt0dat.obj) : error LNK2005: __exit already defined in MSVCRTD.lib(MSVCR90D.dll)
1>LIBCMT.lib(crt0dat.obj) : error LNK2005: __cexit already defined in MSVCRTD.lib(MSVCR90D.dll)
1>LIBCMT.lib(mlock.obj) : error LNK2005: __unlock already defined in MSVCRTD.lib(MSVCR90D.dll)
1>LIBCMT.lib(mlock.obj) : error LNK2005: __lock already defined in MSVCRTD.lib(MSVCR90D.dll)
1>LIBCMT.lib(winxfltr.obj) : error LNK2005: __XcptFilter already defined in MSVCRTD.lib(MSVCR90D.dll)
1>LIBCMT.lib(crt0init.obj) : error LNK2005: ___xi_a already defined in MSVCRTD.lib(cinitexe.obj)
1>LIBCMT.lib(crt0init.obj) : error LNK2005: ___xi_z already defined in MSVCRTD.lib(cinitexe.obj)
1>LIBCMT.lib(crt0init.obj) : error LNK2005: ___xc_a already defined in MSVCRTD.lib(cinitexe.obj)
1>LIBCMT.lib(crt0init.obj) : error LNK2005: ___xc_z already defined in MSVCRTD.lib(cinitexe.obj)
1>LIBCMT.lib(hooks.obj) : error LNK2005: "void __cdecl terminate(void)" (?terminate@@YAXXZ) already defined in MSVCRTD.lib(MSVCR90D.dll)
1>LIBCMT.lib(errmode.obj) : error LNK2005: ___set_app_type already defined in MSVCRTD.lib(MSVCR90D.dll)
1>LINK : warning LNK4098: defaultlib 'MSVCRTD' conflicts with use of other libs; use /NODEFAULTLIB:library
1>LINK : warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use /NODEFAULTLIB:library
1>LIBCMT.lib(crt0.obj) : error LNK2019: unresolved external symbol _main referenced in function ___tmainCRTStartup
1>D:\Downloads\Cpp\ogre\newt\ogrenewt\demos\Demo01_TheBasics\demo01\Debug\demo01.exe : fatal error LNK1120: 1 unresolved externals
1>Build log was saved at "file://d:\Downloads\Cpp\ogre\newt\ogrenewt\demos\Demo01_TheBasics\demo01\demo01\Debug\BuildLog.htm"
1>demo01 - 63 error(s), 2 warning(s)
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========



Do you have a DLL and LIB compiled on windows and visual studio 2008 to send me? :(

marc_antoine

15-11-2009 17:37:07

Compiling ogreNewt with cMake came with some issues:

* the .lib file is not automatically created
* the Debug files created doesn't work

So following the suggestion from westPointer i give it a shot to the Vc++ 2008 Solution and i have been succesfull in greating the dll and the lib files as well as compiling the demos in Debug configuration

here is what has been done:

specs:
ogre SDK 1.62
VC++ 2008 Express
Newton SDK 2.10
ogreNewt SVN version which by the way i think is version 2.0.5



1.-Adding OgreNewt_BasicFrameListener.cpp
2.-Setting the paths for Release
3.-Compiling Release
4.-Setting the paths for Debug
5.-Editing OgreNewt_BasicFrameListener.cpp
6.-Compiling Debug



1.-Adding OgreNewt_BasicFrameListener.cpp
Open the Vc2008 c++ solution inside the ogreNewt20 folder (this is the name by deafult when you checked out from SVN, so might be differente if you changed it), when the project loads you will see some source files, but there is one file missing : "OgreNewt_BasicFrameListener.cpp", it is easy to add it if you activate the option "Show all Files" and then look for the file is missing, once you locate it just roght click it and select the option "Include in Project", when done, deactivate the "Show All Files" option and lets move on to the next step.

2.-Setting the paths for Release
In the project properties delete the default paths that are in the "additional include directories" option with:

$(pathToOgreNewtonStuff)\ogreNewt20\inc
$(pathToOgreNewtonStuff)\newton210\sdk
$(pathToOgreNewtonStuff)\boost_1_40_0\boost_1_40_0
$(pathToOgreNewtonStuff)\ogreNewt20\src


Now in linker-->General, in the option named "Additional library Directories" delete all the paths, and add the following paths:

$(pathToOgreNewtonStuff)\ogreNewt20\lib
$(pathToOgreNewtonStuff)\newton210\sdk\x32\dll_vs9


3.-Compiling Release

if you compile right now, you will have an error like this:
fatal error C1083: Cannot open include file: 'pthread.h': No such file or directory
this si solved by modifying the proprocessor definition (project properties-->Configuration Properties-->C/C++ -->preprocessor), just change it so you have this: WIN32;_OGRENEWT_EXPORTS;_OGRENEWT_DYNAMIC

now right click the project and select "Rebuild ALL" , you ahve to rebuild all not just Build it....


4.-Setting the paths for Debug
now change to DEBUG and modify the paths for the include and the libraries as in step 2 :)
5.-Editing OgreNewt_BasicFrameListener.cpp
ok, to succesfully compile in DEBUG, we have to modify the OgreNewt_BasicFrameListener.cpp file, adding this:

#include <OgreLogManager.h>
#include <OgreStringConverter.h>


don't do this for RELEASE, if you do, wou will get some compilation errors....but go ahead and try lol..if you don't believe me

6.-Compiling Debug
as in step 3, you ahve to change the preprocessor definition, and when done, right click the project and select "Rebuild ALL" , you have to rebuild all not just Build it....

If properly done you will have something like this inside $(pathToOgreNewtonStuff)\ogreNewt20\lib:
[attachment=0]libs.jpg[/attachment]

hope this helps as an alternate way to get this to work...
Marc.

darksideus

16-11-2009 10:34:45

adding to the project pthread library is an easier way to build it correctly^^

I build Ogre_Newt with vs9 but when i'm creating an ogre project using it, everything seems good when my exe file give me that:
I have to change some part of the OgreNewt sources and adding an int where newton function are not found.

can't find input point procedure createInputSystem@InputManager@OIS ... in the OIS.dll library

I already use OIS for others applications without using newton and it was working well...

Any Idea? Someone has already seen that?

darksideus

27-11-2009 07:28:17

It my fault, i was using cb dependencies for a vs9 project ;)

ctabin

24-01-2010 21:15:08

Hello,

I'm pretty new with ogre and newton. I work under Linux Gentoo 32bits and tried to compile OgreNewt2 with newton 2.13.

After the cmake, I launch the make command and here is the output :
OgreNewt_BasicJoints.cpp: In member function ‘Ogre::Real OgreNewt::Hinge::getJointAngle() const’:
OgreNewt_BasicJoints.cpp:86: error: ‘class CustomHinge’ has no member named ‘GetJointAngle’
OgreNewt_BasicJoints.cpp: In member function ‘Ogre::Real OgreNewt::Hinge::getJointAngulatVelocity() const’:
OgreNewt_BasicJoints.cpp:93: error: ‘class CustomHinge’ has no member named ‘GetJointOmega’
OgreNewt_BasicJoints.cpp: In member function ‘Ogre::Vector3 OgreNewt::Hinge::getJointPin() const’:
OgreNewt_BasicJoints.cpp:100: error: ‘class CustomHinge’ has no member named ‘GetPinAxis’
make[2]: *** [CMakeFiles/OgreNewt.dir/src/OgreNewt_BasicJoints.cpp.o] Error 1
make[1]: *** [CMakeFiles/OgreNewt.dir/all] Error 2
make: *** [all] Error 2


After getting through the source code of Newton, the error is pertinent... those methods doesn't exist. Did I forget something ? Maybe I get the wrong version of OgreNewt ?

Thanks for the help and Best regards

kallaspriit

26-01-2010 20:30:05

You've got the wrong version of NGD, get the latest ;)

Empaler

07-02-2010 17:04:51

Hi,

im using VS 2008 and im having problems compiling ogrenewt....

1>------ Rebuild All started: Project: ZERO_CHECK, Configuration: Debug Win32 ------
1>Deleting intermediate and output files for project 'ZERO_CHECK', configuration 'Debug|Win32'
1>Checking Build System
1>CMake does not need to re-run because CMakeFiles/generate.stamp is up-to-date.
1>Build log was saved at "file://c:\OgreNewt\Build\ZERO_CHECK.dir\Debug\BuildLog.htm"
1>ZERO_CHECK - 0 error(s), 0 warning(s)
2>------ Rebuild All started: Project: OgreNewt, Configuration: Debug Win32 ------
2>Deleting intermediate and output files for project 'OgreNewt', configuration 'Debug|Win32'
2>Building Custom Rule C:/OgreNewt/newton20/CMakeLists.txt
2>CMake does not need to re-run because CMakeFiles/generate.stamp is up-to-date.
2>Compiling...
2>cl : Command line warning D9002 : ignoring unknown option '-O0'
2>cl : Command line warning D9002 : ignoring unknown option '-g3'
2>cl : Command line warning D9002 : ignoring unknown option '-fno-inline'
2>OgreNewt_World.cpp
2>OgreNewt_Vehicle.cpp
2>OgreNewt_Tools.cpp
2>OgreNewt_RayCast.cpp
2>OgreNewt_PlayerController.cpp
2>OgreNewt_MaterialPair.cpp
2>OgreNewt_MaterialID.cpp
2>OgreNewt_Joint.cpp
2>OgreNewt_Debugger.cpp
2>OgreNewt_ContactJoint.cpp
2>OgreNewt_ContactCallback.cpp
2>OgreNewt_CollisionSerializer.cpp
2>OgreNewt_CollisionPrimitives.cpp
2>OgreNewt_Collision.cpp
2>OgreNewt_BodyInAABBIterator.cpp
2>OgreNewt_Body.cpp
2>OgreNewt_BasicJoints.cpp
2>OgreNewt_BasicFrameListener.cpp
2>Generating Code...
2>Compiling manifest to resources...
2>Microsoft (R) Windows (R) Resource Compiler Version 6.1.6723.1
2>Copyright (C) Microsoft Corporation. All rights reserved.
2>Linking...
2>OgreNewt_BasicJoints.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: static void __cdecl NewtonCustomJoint::operator delete(void *)" (__imp_??3NewtonCustomJoint@@SAXPAX@Z) referenced in function __unwindfunclet$??0BallAndSocket@OgreNewt@@QAE@PBVBody@1@0ABVVector3@Ogre@@@Z$0
2>OgreNewt_PlayerController.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: static void __cdecl NewtonCustomJoint::operator delete(void *)" (__imp_??3NewtonCustomJoint@@SAXPAX@Z)
2>OgreNewt_BasicJoints.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall CustomBallAndSocket::CustomBallAndSocket(class dMatrix const &,struct NewtonBody const *,struct NewtonBody const *)" (__imp_??0CustomBallAndSocket@@QAE@ABVdMatrix@@PBUNewtonBody@@1@Z) referenced in function "public: __thiscall OgreNewt::BallAndSocket::BallAndSocket(class OgreNewt::Body const *,class OgreNewt::Body const *,class Ogre::Vector3 const &)" (??0BallAndSocket@OgreNewt@@QAE@PBVBody@1@0ABVVector3@Ogre@@@Z)
2>OgreNewt_BasicJoints.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: static void * __cdecl NewtonCustomJoint::operator new(unsigned int)" (__imp_??2NewtonCustomJoint@@SAPAXI@Z) referenced in function "public: __thiscall OgreNewt::BallAndSocket::BallAndSocket(class OgreNewt::Body const *,class OgreNewt::Body const *,class Ogre::Vector3 const &)" (??0BallAndSocket@OgreNewt@@QAE@PBVBody@1@0ABVVector3@Ogre@@@Z)
2>OgreNewt_PlayerController.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: static void * __cdecl NewtonCustomJoint::operator new(unsigned int)" (__imp_??2NewtonCustomJoint@@SAPAXI@Z)
2>OgreNewt_BasicJoints.obj : error LNK2001: unresolved external symbol "protected: virtual void __thiscall CustomBallAndSocket::GetInfo(struct NewtonJointRecord *)const " (?GetInfo@CustomBallAndSocket@@MBEXPAUNewtonJointRecord@@@Z)
2>OgreNewt_BasicJoints.obj : error LNK2001: unresolved external symbol "protected: virtual void __thiscall CustomBallAndSocket::SubmitConstraints(float,int)" (?SubmitConstraints@CustomBallAndSocket@@MAEXMH@Z)
2>OgreNewt_BasicJoints.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: virtual __thiscall CustomBallAndSocket::~CustomBallAndSocket(void)" (__imp_??1CustomBallAndSocket@@UAE@XZ) referenced in function "public: virtual void * __thiscall CustomBallAndSocket::`scalar deleting destructor'(unsigned int)" (??_GCustomBallAndSocket@@UAEPAXI@Z)
2>OgreNewt_BasicJoints.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall CustomHinge::CustomHinge(class dMatrix const &,struct NewtonBody const *,struct NewtonBody const *)" (__imp_??0CustomHinge@@QAE@ABVdMatrix@@PBUNewtonBody@@1@Z) referenced in function "public: __thiscall OgreNewt::Hinge::Hinge(class OgreNewt::Body const *,class OgreNewt::Body const *,class Ogre::Vector3 const &,class Ogre::Vector3 const &)" (??0Hinge@OgreNewt@@QAE@PBVBody@1@0ABVVector3@Ogre@@1@Z)
2>OgreNewt_BasicJoints.obj : error LNK2019: unresolved external symbol "class dMatrix __cdecl dgGrammSchmidt(class dVector const &)" (?dgGrammSchmidt@@YA?AVdMatrix@@ABVdVector@@@Z) referenced in function "public: __thiscall OgreNewt::Hinge::Hinge(class OgreNewt::Body const *,class OgreNewt::Body const *,class Ogre::Vector3 const &,class Ogre::Vector3 const &)" (??0Hinge@OgreNewt@@QAE@PBVBody@1@0ABVVector3@Ogre@@1@Z)
2>OgreNewt_BasicJoints.obj : error LNK2001: unresolved external symbol "protected: virtual void __thiscall CustomHinge::GetInfo(struct NewtonJointRecord *)const " (?GetInfo@CustomHinge@@MBEXPAUNewtonJointRecord@@@Z)
2>OgreNewt_BasicJoints.obj : error LNK2001: unresolved external symbol "protected: virtual void __thiscall CustomHinge::SubmitConstraints(float,int)" (?SubmitConstraints@CustomHinge@@MAEXMH@Z)
2>OgreNewt_BasicJoints.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: virtual __thiscall CustomHinge::~CustomHinge(void)" (__imp_??1CustomHinge@@UAE@XZ) referenced in function "public: virtual void * __thiscall CustomHinge::`scalar deleting destructor'(unsigned int)" (??_GCustomHinge@@UAEPAXI@Z)
2>OgreNewt_BasicJoints.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall CustomHinge::EnableLimits(bool)" (__imp_?EnableLimits@CustomHinge@@QAEX_N@Z) referenced in function "public: void __thiscall OgreNewt::Hinge::enableLimits(bool)" (?enableLimits@Hinge@OgreNewt@@QAEX_N@Z)
2>OgreNewt_BasicJoints.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall CustomHinge::SetLimis(float,float)" (__imp_?SetLimis@CustomHinge@@QAEXMM@Z) referenced in function "public: void __thiscall OgreNewt::Hinge::setLimits(class Ogre::Radian,class Ogre::Radian)" (?setLimits@Hinge@OgreNewt@@QAEXVRadian@Ogre@@0@Z)
2>OgreNewt_BasicJoints.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: float __thiscall CustomHinge::GetJointAngle(void)const " (__imp_?GetJointAngle@CustomHinge@@QBEMXZ) referenced in function "public: float __thiscall OgreNewt::Hinge::getJointAngle(void)const " (?getJointAngle@Hinge@OgreNewt@@QBEMXZ)
2>OgreNewt_BasicJoints.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: float __thiscall CustomHinge::GetJointOmega(void)const " (__imp_?GetJointOmega@CustomHinge@@QBEMXZ) referenced in function "public: float __thiscall OgreNewt::Hinge::getJointAngulatVelocity(void)const " (?getJointAngulatVelocity@Hinge@OgreNewt@@QBEMXZ)
2>OgreNewt_BasicJoints.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: class dVector __thiscall CustomHinge::GetPinAxis(void)const " (__imp_?GetPinAxis@CustomHinge@@QBE?AVdVector@@XZ) referenced in function "public: class Ogre::Vector3 __thiscall OgreNewt::Hinge::getJointPin(void)const " (?getJointPin@Hinge@OgreNewt@@QBE?AVVector3@Ogre@@XZ)
2>OgreNewt_BasicJoints.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall CustomSlider::CustomSlider(class dMatrix const &,struct NewtonBody const *,struct NewtonBody const *)" (__imp_??0CustomSlider@@QAE@ABVdMatrix@@PBUNewtonBody@@1@Z) referenced in function "public: __thiscall OgreNewt::Slider::Slider(class OgreNewt::Body const *,class OgreNewt::Body const *,class Ogre::Vector3 const &,class Ogre::Vector3 const &)" (??0Slider@OgreNewt@@QAE@PBVBody@1@0ABVVector3@Ogre@@1@Z)
2>OgreNewt_BasicJoints.obj : error LNK2001: unresolved external symbol "protected: virtual void __thiscall CustomSlider::GetInfo(struct NewtonJointRecord *)const " (?GetInfo@CustomSlider@@MBEXPAUNewtonJointRecord@@@Z)
2>OgreNewt_BasicJoints.obj : error LNK2001: unresolved external symbol "protected: virtual void __thiscall CustomSlider::SubmitConstraints(float,int)" (?SubmitConstraints@CustomSlider@@MAEXMH@Z)
2>OgreNewt_BasicJoints.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: virtual __thiscall CustomSlider::~CustomSlider(void)" (__imp_??1CustomSlider@@UAE@XZ) referenced in function "public: virtual void * __thiscall CustomSlider::`scalar deleting destructor'(unsigned int)" (??_GCustomSlider@@UAEPAXI@Z)
2>OgreNewt_BasicJoints.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall CustomSlider::EnableLimits(bool)" (__imp_?EnableLimits@CustomSlider@@QAEX_N@Z) referenced in function "public: void __thiscall OgreNewt::Slider::enableLimits(bool)" (?enableLimits@Slider@OgreNewt@@QAEX_N@Z)
2>OgreNewt_BasicJoints.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall CustomSlider::SetLimis(float,float)" (__imp_?SetLimis@CustomSlider@@QAEXMM@Z) referenced in function "public: void __thiscall OgreNewt::Slider::setLimis(float,float)" (?setLimis@Slider@OgreNewt@@QAEXMM@Z)
2>OgreNewt_BasicJoints.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall CustomKinematicController::CustomKinematicController(struct NewtonBody const *,class dVector const &)" (__imp_??0CustomKinematicController@@QAE@PBUNewtonBody@@ABVdVector@@@Z) referenced in function "public: __thiscall OgreNewt::KinematicController::KinematicController(class OgreNewt::Body const *,class Ogre::Vector3 const &)" (??0KinematicController@OgreNewt@@QAE@PBVBody@1@ABVVector3@Ogre@@@Z)
2>OgreNewt_BasicJoints.obj : error LNK2001: unresolved external symbol "protected: virtual void __thiscall CustomKinematicController::GetInfo(struct NewtonJointRecord *)const " (?GetInfo@CustomKinematicController@@MBEXPAUNewtonJointRecord@@@Z)
2>OgreNewt_BasicJoints.obj : error LNK2001: unresolved external symbol "protected: virtual void __thiscall CustomKinematicController::SubmitConstraints(float,int)" (?SubmitConstraints@CustomKinematicController@@MAEXMH@Z)
2>OgreNewt_BasicJoints.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: virtual __thiscall CustomKinematicController::~CustomKinematicController(void)" (__imp_??1CustomKinematicController@@UAE@XZ) referenced in function "public: virtual void * __thiscall CustomKinematicController::`scalar deleting destructor'(unsigned int)" (??_GCustomKinematicController@@UAEPAXI@Z)
2>OgreNewt_BasicJoints.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall CustomKinematicController::SetPickMode(int)" (__imp_?SetPickMode@CustomKinematicController@@QAEXH@Z) referenced in function "public: void __thiscall OgreNewt::KinematicController::setPickingMode(int)" (?setPickingMode@KinematicController@OgreNewt@@QAEXH@Z)
2>OgreNewt_BasicJoints.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall CustomKinematicController::SetMaxLinearFriction(float)" (__imp_?SetMaxLinearFriction@CustomKinematicController@@QAEXM@Z) referenced in function "public: void __thiscall OgreNewt::KinematicController::setMaxLinearFriction(float)" (?setMaxLinearFriction@KinematicController@OgreNewt@@QAEXM@Z)
2>OgreNewt_BasicJoints.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall CustomKinematicController::SetMaxAngularFriction(float)" (__imp_?SetMaxAngularFriction@CustomKinematicController@@QAEXM@Z) referenced in function "public: void __thiscall OgreNewt::KinematicController::setMaxAngularFriction(float)" (?setMaxAngularFriction@KinematicController@OgreNewt@@QAEXM@Z)
2>OgreNewt_BasicJoints.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall CustomKinematicController::SetTargetPosit(class dVector const &)" (__imp_?SetTargetPosit@CustomKinematicController@@QAEXABVdVector@@@Z) referenced in function "public: void __thiscall OgreNewt::KinematicController::setTargetPosit(class Ogre::Vector3 const &)" (?setTargetPosit@KinematicController@OgreNewt@@QAEXABVVector3@Ogre@@@Z)
2>OgreNewt_BasicJoints.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall CustomKinematicController::SetTargetRotation(class dQuaternion const &)" (__imp_?SetTargetRotation@CustomKinematicController@@QAEXABVdQuaternion@@@Z) referenced in function "public: void __thiscall OgreNewt::KinematicController::setTargetRotation(class Ogre::Quaternion const &)" (?setTargetRotation@KinematicController@OgreNewt@@QAEXABVQuaternion@Ogre@@@Z)
2>OgreNewt_BasicJoints.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall CustomKinematicController::SetTargetMatrix(class dMatrix const &)" (__imp_?SetTargetMatrix@CustomKinematicController@@QAEXABVdMatrix@@@Z) referenced in function "public: void __thiscall OgreNewt::KinematicController::setTargetMatrix(class Ogre::Vector3 const &,class Ogre::Quaternion const &)" (?setTargetMatrix@KinematicController@OgreNewt@@QAEXABVVector3@Ogre@@ABVQuaternion@4@@Z)
2>OgreNewt_BasicJoints.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: class dMatrix __thiscall CustomKinematicController::GetTargetMatrix(void)const " (__imp_?GetTargetMatrix@CustomKinematicController@@QBE?AVdMatrix@@XZ) referenced in function "public: void __thiscall OgreNewt::KinematicController::getTargetMatrix(class Ogre::Vector3 &,class Ogre::Quaternion &)const " (?getTargetMatrix@KinematicController@OgreNewt@@QBEXAAVVector3@Ogre@@AAVQuaternion@4@@Z)
2>OgreNewt_Debugger.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void * __thiscall NewtonCustomJoint::GetUserData(void)const " (__imp_?GetUserData@NewtonCustomJoint@@QBEPAXXZ) referenced in function "private: static void __cdecl OgreNewt::Debugger::newtonprocessJoints(struct NewtonJoint const *,void *)" (?newtonprocessJoints@Debugger@OgreNewt@@CAXPBUNewtonJoint@@PAX@Z)
2>OgreNewt_Joint.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: void * __thiscall NewtonCustomJoint::GetUserData(void)const " (__imp_?GetUserData@NewtonCustomJoint@@QBEPAXXZ)
2>OgreNewt_Joint.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall NewtonCustomJoint::SetUserDestructorCallBack(void (__cdecl*)(struct NewtonUserJoint const *))" (__imp_?SetUserDestructorCallBack@NewtonCustomJoint@@QAEXP6AXPBUNewtonUserJoint@@@Z@Z) referenced in function "public: virtual __thiscall OgreNewt::Joint::~Joint(void)" (??1Joint@OgreNewt@@UAE@XZ)
2>OgreNewt_Joint.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall NewtonCustomJoint::SetUserData(void *)" (__imp_?SetUserData@NewtonCustomJoint@@QAEXPAX@Z) referenced in function "public: virtual __thiscall OgreNewt::Joint::~Joint(void)" (??1Joint@OgreNewt@@UAE@XZ)
2>OgreNewt_Joint.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall NewtonCustomJoint::SetUserSubmintConstraintCallBack(void (__cdecl*)(struct NewtonUserJoint const *,float,int))" (__imp_?SetUserSubmintConstraintCallBack@NewtonCustomJoint@@QAEXP6AXPBUNewtonUserJoint@@MH@Z@Z) referenced in function "protected: void __thiscall OgreNewt::Joint::SetSupportJoint(class NewtonCustomJoint *)" (?SetSupportJoint@Joint@OgreNewt@@IAEXPAVNewtonCustomJoint@@@Z)
2>OgreNewt_Joint.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: struct NewtonBody const * __thiscall NewtonCustomJoint::GetBody0(void)const " (__imp_?GetBody0@NewtonCustomJoint@@QBEPBUNewtonBody@@XZ) referenced in function "public: class OgreNewt::Body * __thiscall OgreNewt::Joint::getBody0(void)const " (?getBody0@Joint@OgreNewt@@QBEPAVBody@2@XZ)
2>OgreNewt_Joint.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: struct NewtonBody const * __thiscall NewtonCustomJoint::GetBody1(void)const " (__imp_?GetBody1@NewtonCustomJoint@@QBEPBUNewtonBody@@XZ) referenced in function "public: class OgreNewt::Body * __thiscall OgreNewt::Joint::getBody1(void)const " (?getBody1@Joint@OgreNewt@@QBEPAVBody@2@XZ)
2>OgreNewt_Joint.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: struct NewtonJoint const * __thiscall NewtonCustomJoint::GetJoint(void)const " (__imp_?GetJoint@NewtonCustomJoint@@QBEPBUNewtonJoint@@XZ) referenced in function "protected: void __thiscall OgreNewt::Joint::addLinearRow(class Ogre::Vector3 const &,class Ogre::Vector3 const &,class Ogre::Vector3 const &)const " (?addLinearRow@Joint@OgreNewt@@IBEXABVVector3@Ogre@@00@Z)
2>OgreNewt_PlayerController.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall CustomPlayerController::CustomPlayerController(class dMatrix const &,struct NewtonBody const *,float,float)" (__imp_??0CustomPlayerController@@QAE@ABVdMatrix@@PBUNewtonBody@@MM@Z) referenced in function "public: __thiscall OgreNewt::PlayerController::PlayerController(class OgreNewt::Body *,float,float)" (??0PlayerController@OgreNewt@@QAE@PAVBody@1@MM@Z)
2>OgreNewt_PlayerController.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall NewtonCustomJoint::GetInfo(struct NewtonJointRecord *)const " (?GetInfo@NewtonCustomJoint@@UBEXPAUNewtonJointRecord@@@Z)
2>OgreNewt_PlayerController.obj : error LNK2001: unresolved external symbol "protected: virtual void __thiscall CustomPlayerController::SubmitConstraints(float,int)" (?SubmitConstraints@CustomPlayerController@@MAEXMH@Z)
2>OgreNewt_PlayerController.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: virtual __thiscall CustomPlayerController::~CustomPlayerController(void)" (__imp_??1CustomPlayerController@@UAE@XZ) referenced in function "public: virtual void * __thiscall CustomPlayerController::`scalar deleting destructor'(unsigned int)" (??_GCustomPlayerController@@UAEPAXI@Z)
2>OgreNewt_PlayerController.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall CustomPlayerController::GetVelocity(float &,float &,float &)const " (__imp_?GetVelocity@CustomPlayerController@@QBEXAAM00@Z) referenced in function "public: void __thiscall OgreNewt::PlayerController::getVelocity(float &,float &,class Ogre::Radian &)const " (?getVelocity@PlayerController@OgreNewt@@QBEXAAM0AAVRadian@Ogre@@@Z)
2>OgreNewt_PlayerController.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall CustomPlayerController::SetVelocity(float,float,float)" (__imp_?SetVelocity@CustomPlayerController@@QAEXMMM@Z) referenced in function "public: void __thiscall OgreNewt::PlayerController::setVelocity(float,float,class Ogre::Radian)" (?setVelocity@PlayerController@OgreNewt@@QAEXMMVRadian@Ogre@@@Z)
2>OgreNewt_PlayerController.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: float __thiscall CustomPlayerController::GetPlayerHeight(void)const " (__imp_?GetPlayerHeight@CustomPlayerController@@QBEMXZ) referenced in function "public: float __thiscall OgreNewt::PlayerController::getPlayerHeight(void)const " (?getPlayerHeight@PlayerController@OgreNewt@@QBEMXZ)
2>OgreNewt_PlayerController.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: float __thiscall CustomPlayerController::GetPlayerStairHeight(void)const " (__imp_?GetPlayerStairHeight@CustomPlayerController@@QBEMXZ) referenced in function "protected: virtual void __thiscall OgreNewt::PlayerController::showDebugData(class Ogre::SceneNode *)" (?showDebugData@PlayerController@OgreNewt@@MAEXPAVSceneNode@Ogre@@@Z)
2>OgreNewt_PlayerController.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: struct NewtonCollision const * __thiscall CustomPlayerController::GetStairStepShape(void)const " (__imp_?GetStairStepShape@CustomPlayerController@@QBEPBUNewtonCollision@@XZ) referenced in function "protected: virtual void __thiscall OgreNewt::PlayerController::showDebugData(class Ogre::SceneNode *)" (?showDebugData@PlayerController@OgreNewt@@MAEXPAVSceneNode@Ogre@@@Z)
2>OgreNewt_PlayerController.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: struct NewtonCollision const * __thiscall CustomPlayerController::GetSensorShape(void)const " (__imp_?GetSensorShape@CustomPlayerController@@QBEPBUNewtonCollision@@XZ) referenced in function "protected: virtual void __thiscall OgreNewt::PlayerController::showDebugData(class Ogre::SceneNode *)" (?showDebugData@PlayerController@OgreNewt@@MAEXPAVSceneNode@Ogre@@@Z)
2>OgreNewt_PlayerController.obj : error LNK2019: unresolved external symbol "public: __thiscall dMatrix::dMatrix(class dQuaternion const &,class dVector const &)" (??0dMatrix@@QAE@ABVdQuaternion@@ABVdVector@@@Z) referenced in function "protected: virtual void __thiscall OgreNewt::PlayerController::showDebugData(class Ogre::SceneNode *)" (?showDebugData@PlayerController@OgreNewt@@MAEXPAVSceneNode@Ogre@@@Z)
2>C:\OgreNewt\Build\Debug\OgreNewt.dll : fatal error LNK1120: 51 unresolved externals
2>Build log was saved at "file://c:\OgreNewt\Build\OgreNewt.dir\Debug\BuildLog.htm"
2>OgreNewt - 55 error(s), 3 warning(s)
3>------ Rebuild All started: Project: ALL_BUILD, Configuration: Debug Win32 ------
3>Deleting intermediate and output files for project 'ALL_BUILD', configuration 'Debug|Win32'
3>Building Custom Rule C:/OgreNewt/newton20/CMakeLists.txt
3>CMake does not need to re-run because CMakeFiles/generate.stamp is up-to-date.
3>Build log was saved at "file://c:\OgreNewt\Build\ALL_BUILD.dir\Debug\BuildLog.htm"
3>ALL_BUILD - 0 error(s), 0 warning(s)
4>------ Skipped Rebuild All: Project: PACKAGE, Configuration: Debug Win32 ------
4>Project not selected to build for this solution configuration
5>------ Skipped Rebuild All: Project: INSTALL, Configuration: Debug Win32 ------
5>Project not selected to build for this solution configuration
========== Rebuild All: 2 succeeded, 1 failed, 2 skipped ==========


What should i do now?
The download i made from svn doesnt have the folder $(pathToOgreNewtonStuff)\ogreNewt20\lib is that the problem ?
Is there another way to download it ?

Thanks in advance

marc_antoine

08-02-2010 14:15:10

umm at first sight, seems you'r missing the ogrenewt libs... or maybe you are mixing svn version of ogrenewt and newton.
The download i made from svn doesnt have the folder $(pathToOgreNewtonStuff)\ogreNewt20\lib is that the problem ?

$(pathToOgreNewtonStuff) is a just a example of an environment variable that points to a dir that is generated when you succesfully compile ogrenewt in release or Debug allt he libs you need are inthe newton dir.

cheers.

Empaler

08-02-2010 17:49:19



my newton20 folder doesnt have a lib folder ...
maybe thats whats wrong? :s

marc_antoine

08-02-2010 19:22:12

remember that you have to change some configurations depending ont he type com build you are doing. (Release or Debug..) also seems your combining some methods, like trying to compile with cmake, my advice is to have a fresh start and compile everyhting without cmake as i stated in the second guide i wrote http://www.ogre3d.org/addonforums/viewtopic.php?f=4&t=11510&start=15#p65982 if you need the libs i can upload them :)

untitled

12-02-2010 12:53:28

remember that you have to change some configurations depending ont he type com build you are doing. (Release or Debug..) also seems your combining some methods, like trying to compile with cmake, my advice is to have a fresh start and compile everyhting without cmake as i stated in the second guide i wrote http://www.ogre3d.org/addonforums/viewtopic.php?f=4&t=11510&start=15#p65982 if you need the libs i can upload them :)
Yes, please can you post them.

I have tried to compile the svn using CodeBlocks on windows and failed. (OgreNewt_BasicJoints.cpp cannot find CustomHinge, -Slider, -BallAndSocket nor -KinematicController - should you include all their directories separately or should $(Newton)/sdk suffice? (if include everything compiler requires the linker complains on NewtonCustomJoint (one of the header-files that was needed to compile)).


On a side note:
What defines are required to compile it? I've tried using just WIN32.
What linker-options are required to compile it?

edit: I did not use cmake, i tried converting your mcvs compile guide to codeblocks.

mvelazquezm

24-02-2010 21:18:24

Hi,

Im trying to compile OgreNewt, but I got this error:
D:\uc3m\Curso 2009_2010\PFC\Newton_phy\newton20\inc\OgreNewt_stdafx.h(38) : fatal error C1083: No se puede abrir el archivo incluir: 'dVector.h': No such file or directory

dVector is part of Newton, but I think that I did the step of Cmake correctly.
If I look inside a proyect properties like OgreNewt. I can see in: setup properties -> C/C++ -> Command line -> /O2 /Ob2 /I "D:\uc3m\Curso 2009_2010\PFC\Newton_phy\newton20\inc" /I "C:\OgreSDK\include" /I "D:\uc3m\Curso 2009_2010\PFC\Newton_phy\Newton\sdk" /D "WIN32" /D "_WINDOWS" /D "NDEBUG" /D "CMAKE_INTDIR=\"Release\"" /D "_OGRENEWT_EXPORTS" /D "_WINDLL" /D "_MBCS" /FD /EHsc /MD /Fo"OgreNewt.dir\Release\\" /Fd"D:/uc3m/Curso 2009_2010/PFC/Newton_phy/ogreNewt20Build/Release/OgreNewt.pdb" /W3 /nologo /c /TP /errorReport:prompt

And in command line -> linker: /OUT:"D:\uc3m\Curso 2009_2010\PFC\Newton_phy\ogreNewt20Build\Release\OgreNewt.dll" /VERSION:2.0 /INCREMENTAL:NO /NOLOGO /DLL /MANIFEST /MANIFESTFILE:"OgreNewt.dir\Release\OgreNewt.dll.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /PDB:"D:\uc3m\Curso 2009_2010\PFC\Newton_phy\ogreNewt20Build\Release\OgreNewt.pdb" /DYNAMICBASE /NXCOMPAT /IMPLIB:"D:\uc3m\Curso 2009_2010\PFC\Newton_phy\ogreNewt20Build\Release\OgreNewt.lib" /ERRORREPORT:PROMPT kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib C:\OgreSDK\lib\OgreMain_d.lib "D:\uc3m\Curso 2009_2010\PFC\Newton_phy\Newton\sdk\x32\dll_vs9\newton.lib"

Thanks

PJani

25-02-2010 08:21:01

you need to add include directory named dMath i think

mvelazquezm

25-02-2010 09:59:06

Finally I compiled without cMake (following the tutorial over here), and it can be done, I got several errors but, I have dlls and libs, now I only have to test it.

Thanks

mvelazquezm

25-02-2010 18:53:48

Hi again.

I have the dlls and libs, that I did without CMake (with several errors in the compilation, but width ir maked dll and lib)
Then I created a new Proyect.

Im using:
Visual C++ Express Edition 2008
Ogre SDK 1.6.5
Newton SDK 2.17
OgreNewt the last form SVN

The includes (Proyect properties->setup properties->C/C++->general):
$(OGRE_HOME)/include
$(NEWTON)/sdk
$(OGRE_NEWT)/include
$(OGRE_HOME)/samples/include

Libraries (Proyect properties->linker->general)
$(OGRE_HOME)/lib
$(OGRE_NEWT)/lib
$(NEWTON)/sdk/x32
$(NEWTON)/sdk/x32/dll_vs9
S(NEWTON)/sdk/dMath
$(NEWTON)/sdk/dCustomJoints
$(OGRE_NEWT)/src

The libraries (project properties-->Configuration Properties-->Linker-->input -->Additional Dependencies
OgreMain.lib OIS.lib OgreNewt.lib newton.lib

When I compiled my proyect, I got this error:
MSVCRTD.lib(crtexew.obj) : error LNK2019: símbolo externo _WinMain@16 sin resolver al que se hace referencia en la función ___tmainCRTStartup
bin\Debug\OgreNewtApplication.exe : fatal error LNK1120: 1 externos sin resolver

I dont know what to do yet, I need help. This is for my final university work.
Thanks!

Jack000

05-03-2010 10:01:22

I tried compiling with cmake (ogre 1.7 svn, newton 2.14 and boost 1.4) but got these errors:

1>OgreNewt_PlayerController.cpp
1>..\ogrenewt\src\OgreNewt_PlayerController.cpp(76) : error C2039: 'GetPlayerHeight' : is not a member of 'CustomPlayerController'
1> C:\Users\Jack\Documents\newton\dCustomJoints\CustomPlayerController.h(18) : see declaration of 'CustomPlayerController'
1>..\ogrenewt\src\OgreNewt_PlayerController.cpp(116) : error C2039: 'GetStairStepShape' : is not a member of 'CustomPlayerController'
1> C:\Users\Jack\Documents\newton\dCustomJoints\CustomPlayerController.h(18) : see declaration of 'CustomPlayerController'
1>..\ogrenewt\src\OgreNewt_PlayerController.cpp(121) : error C2039: 'GetStairStepShape' : is not a member of 'CustomPlayerController'
1> C:\Users\Jack\Documents\newton\dCustomJoints\CustomPlayerController.h(18) : see declaration of 'CustomPlayerController'
1>..\ogrenewt\src\OgreNewt_PlayerController.cpp(138) : error C2039: 'GetPlayerStairHeight' : is not a member of 'CustomPlayerController'
1> C:\Users\Jack\Documents\newton\dCustomJoints\CustomPlayerController.h(18) : see declaration of 'CustomPlayerController'
1>OgreNewt_BasicJoints.cpp
1>..\ogrenewt\src\OgreNewt_BasicJoints.cpp(86) : error C2039: 'GetJointAngle' : is not a member of 'CustomHinge'
1> C:\Users\Jack\Documents\newton\dCustomJoints\CustomHinge.h(22) : see declaration of 'CustomHinge'
1>..\ogrenewt\src\OgreNewt_BasicJoints.cpp(93) : error C2039: 'GetJointOmega' : is not a member of 'CustomHinge'
1> C:\Users\Jack\Documents\newton\dCustomJoints\CustomHinge.h(22) : see declaration of 'CustomHinge'
1>..\ogrenewt\src\OgreNewt_BasicJoints.cpp(100) : error C2039: 'GetPinAxis' : is not a member of 'CustomHinge'
1> C:\Users\Jack\Documents\newton\dCustomJoints\CustomHinge.h(22) : see declaration of 'CustomHinge'


it's weird because they're all ogrenewt files, so you'd think they'd be internally consistent. Did I just checkout while changes were being made?

mvelazquezm

05-03-2010 11:54:16

Do it without CMake (see page 2 of this post)

I compiled latest version of OgreNewt with Ogre 1.7 SDK, Boost 1.4x (that comes with Ogre 1.7 ) and Newton 2.17

Zep

05-03-2010 13:27:56

I tried to compile OgreNEwt20 with the method explained at page 2 but I still have some several unresolved extern symbol :

1>OgreNewt_BasicJoints.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: void __thiscall CustomHinge::EnableLimits(bool)" (__imp_?EnableLimits@CustomHinge@@QAEX_N@Z) référencé dans la fonction "public: void __thiscall OgreNewt::Hinge::enableLimits(bool)" (?enableLimits@Hinge@OgreNewt@@QAEX_N@Z)
1>OgreNewt_BasicJoints.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: void __thiscall CustomHinge::SetLimis(float,float)" (__imp_?SetLimis@CustomHinge@@QAEXMM@Z) référencé dans la fonction "public: void __thiscall OgreNewt::Hinge::setLimits(class Ogre::Radian,class Ogre::Radian)" (?setLimits@Hinge@OgreNewt@@QAEXVRadian@Ogre@@0@Z)
1>OgreNewt_BasicJoints.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: float __thiscall CustomHinge::GetJointAngle(void)const " (__imp_?GetJointAngle@CustomHinge@@QBEMXZ) référencé dans la fonction "public: float __thiscall OgreNewt::Hinge::getJointAngle(void)const " (?getJointAngle@Hinge@OgreNewt@@QBEMXZ)
1>OgreNewt_BasicJoints.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: float __thiscall CustomHinge::GetJointOmega(void)const " (__imp_?GetJointOmega@CustomHinge@@QBEMXZ) référencé dans la fonction "public: float __thiscall OgreNewt::Hinge::getJointAngulatVelocity(void)const " (?getJointAngulatVelocity@Hinge@OgreNewt@@QBEMXZ)
1>OgreNewt_BasicJoints.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: class dVector __thiscall CustomHinge::GetPinAxis(void)const " (__imp_?GetPinAxis@CustomHinge@@QBE?AVdVector@@XZ) référencé dans la fonction "public: class Ogre::Vector3 __thiscall OgreNewt::Hinge::getJointPin(void)const " (?getJointPin@Hinge@OgreNewt@@QBE?AVVector3@Ogre@@XZ)
1>OgreNewt_BasicJoints.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: void __thiscall CustomSlider::EnableLimits(bool)" (__imp_?EnableLimits@CustomSlider@@QAEX_N@Z) référencé dans la fonction "public: void __thiscall OgreNewt::Slider::enableLimits(bool)" (?enableLimits@Slider@OgreNewt@@QAEX_N@Z)
1>OgreNewt_BasicJoints.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: void __thiscall CustomSlider::SetLimis(float,float)" (__imp_?SetLimis@CustomSlider@@QAEXMM@Z) référencé dans la fonction "public: void __thiscall OgreNewt::Slider::setLimis(float,float)" (?setLimis@Slider@OgreNewt@@QAEXMM@Z)
1>OgreNewt_BasicJoints.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: void __thiscall CustomKinematicController::SetPickMode(int)" (__imp_?SetPickMode@CustomKinematicController@@QAEXH@Z) référencé dans la fonction "public: void __thiscall OgreNewt::KinematicController::setPickingMode(int)" (?setPickingMode@KinematicController@OgreNewt@@QAEXH@Z)
1>OgreNewt_BasicJoints.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: void __thiscall CustomKinematicController::SetMaxLinearFriction(float)" (__imp_?SetMaxLinearFriction@CustomKinematicController@@QAEXM@Z) référencé dans la fonction "public: void __thiscall OgreNewt::KinematicController::setMaxLinearFriction(float)" (?setMaxLinearFriction@KinematicController@OgreNewt@@QAEXM@Z)
1>OgreNewt_BasicJoints.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: void __thiscall CustomKinematicController::SetMaxAngularFriction(float)" (__imp_?SetMaxAngularFriction@CustomKinematicController@@QAEXM@Z) référencé dans la fonction "public: void __thiscall OgreNewt::KinematicController::setMaxAngularFriction(float)" (?setMaxAngularFriction@KinematicController@OgreNewt@@QAEXM@Z)
1>OgreNewt_BasicJoints.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: void __thiscall CustomKinematicController::SetTargetRotation(class dQuaternion const &)" (__imp_?SetTargetRotation@CustomKinematicController@@QAEXABVdQuaternion@@@Z) référencé dans la fonction "public: void __thiscall OgreNewt::KinematicController::setTargetRotation(class Ogre::Quaternion const &)" (?setTargetRotation@KinematicController@OgreNewt@@QAEXABVQuaternion@Ogre@@@Z)
1>OgreNewt_BasicJoints.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: static void __cdecl NewtonCustomJoint::operator delete(void *)" (__imp_??3NewtonCustomJoint@@SAXPAX@Z) référencé dans la fonction __unwindfunclet$??0BallAndSocket@OgreNewt@@QAE@PBVBody@1@0ABVVector3@Ogre@@@Z$0
1>OgreNewt_PlayerController.obj : error LNK2001: symbole externe non résolu "__declspec(dllimport) public: static void __cdecl NewtonCustomJoint::operator delete(void *)" (__imp_??3NewtonCustomJoint@@SAXPAX@Z)
1>OgreNewt_BasicJoints.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: __thiscall CustomBallAndSocket::CustomBallAndSocket(class dMatrix const &,struct NewtonBody const *,struct NewtonBody const *)" (__imp_??0CustomBallAndSocket@@QAE@ABVdMatrix@@PBUNewtonBody@@1@Z) référencé dans la fonction "public: __thiscall OgreNewt::BallAndSocket::BallAndSocket(class OgreNewt::Body const *,class OgreNewt::Body const *,class Ogre::Vector3 const &)" (??0BallAndSocket@OgreNewt@@QAE@PBVBody@1@0ABVVector3@Ogre@@@Z)
1>OgreNewt_BasicJoints.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: static void * __cdecl NewtonCustomJoint::operator new(unsigned int)" (__imp_??2NewtonCustomJoint@@SAPAXI@Z) référencé dans la fonction "public: __thiscall OgreNewt::BallAndSocket::BallAndSocket(class OgreNewt::Body const *,class OgreNewt::Body const *,class Ogre::Vector3 const &)" (??0BallAndSocket@OgreNewt@@QAE@PBVBody@1@0ABVVector3@Ogre@@@Z)
1>OgreNewt_PlayerController.obj : error LNK2001: symbole externe non résolu "__declspec(dllimport) public: static void * __cdecl NewtonCustomJoint::operator new(unsigned int)" (__imp_??2NewtonCustomJoint@@SAPAXI@Z)
1>OgreNewt_BasicJoints.obj : error LNK2001: symbole externe non résolu "protected: virtual void __thiscall CustomBallAndSocket::GetInfo(struct NewtonJointRecord *)const " (?GetInfo@CustomBallAndSocket@@MBEXPAUNewtonJointRecord@@@Z)
1>OgreNewt_BasicJoints.obj : error LNK2001: symbole externe non résolu "protected: virtual void __thiscall CustomBallAndSocket::SubmitConstraints(float,int)" (?SubmitConstraints@CustomBallAndSocket@@MAEXMH@Z)
1>OgreNewt_BasicJoints.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: virtual __thiscall CustomBallAndSocket::~CustomBallAndSocket(void)" (__imp_??1CustomBallAndSocket@@UAE@XZ) référencé dans la fonction "public: virtual void * __thiscall CustomBallAndSocket::`scalar deleting destructor'(unsigned int)" (??_GCustomBallAndSocket@@UAEPAXI@Z)
1>OgreNewt_BasicJoints.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: __thiscall CustomHinge::CustomHinge(class dMatrix const &,struct NewtonBody const *,struct NewtonBody const *)" (__imp_??0CustomHinge@@QAE@ABVdMatrix@@PBUNewtonBody@@1@Z) référencé dans la fonction "public: __thiscall OgreNewt::Hinge::Hinge(class OgreNewt::Body const *,class OgreNewt::Body const *,class Ogre::Vector3 const &,class Ogre::Vector3 const &)" (??0Hinge@OgreNewt@@QAE@PBVBody@1@0ABVVector3@Ogre@@1@Z)
1>OgreNewt_BasicJoints.obj : error LNK2019: symbole externe non résolu "class dMatrix __cdecl dgGrammSchmidt(class dVector const &)" (?dgGrammSchmidt@@YA?AVdMatrix@@ABVdVector@@@Z) référencé dans la fonction "public: __thiscall OgreNewt::Hinge::Hinge(class OgreNewt::Body const *,class OgreNewt::Body const *,class Ogre::Vector3 const &,class Ogre::Vector3 const &)" (??0Hinge@OgreNewt@@QAE@PBVBody@1@0ABVVector3@Ogre@@1@Z)
1>OgreNewt_BasicJoints.obj : error LNK2001: symbole externe non résolu "protected: virtual void __thiscall CustomHinge::GetInfo(struct NewtonJointRecord *)const " (?GetInfo@CustomHinge@@MBEXPAUNewtonJointRecord@@@Z)
1>OgreNewt_BasicJoints.obj : error LNK2001: symbole externe non résolu "protected: virtual void __thiscall CustomHinge::SubmitConstraints(float,int)" (?SubmitConstraints@CustomHinge@@MAEXMH@Z)
1>OgreNewt_BasicJoints.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: virtual __thiscall CustomHinge::~CustomHinge(void)" (__imp_??1CustomHinge@@UAE@XZ) référencé dans la fonction "public: virtual void * __thiscall CustomHinge::`scalar deleting destructor'(unsigned int)" (??_GCustomHinge@@UAEPAXI@Z)
1>OgreNewt_BasicJoints.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: __thiscall CustomSlider::CustomSlider(class dMatrix const &,struct NewtonBody const *,struct NewtonBody const *)" (__imp_??0CustomSlider@@QAE@ABVdMatrix@@PBUNewtonBody@@1@Z) référencé dans la fonction "public: __thiscall OgreNewt::Slider::Slider(class OgreNewt::Body const *,class OgreNewt::Body const *,class Ogre::Vector3 const &,class Ogre::Vector3 const &)" (??0Slider@OgreNewt@@QAE@PBVBody@1@0ABVVector3@Ogre@@1@Z)
1>OgreNewt_BasicJoints.obj : error LNK2001: symbole externe non résolu "protected: virtual void __thiscall CustomSlider::GetInfo(struct NewtonJointRecord *)const " (?GetInfo@CustomSlider@@MBEXPAUNewtonJointRecord@@@Z)
1>OgreNewt_BasicJoints.obj : error LNK2001: symbole externe non résolu "protected: virtual void __thiscall CustomSlider::SubmitConstraints(float,int)" (?SubmitConstraints@CustomSlider@@MAEXMH@Z)
1>OgreNewt_BasicJoints.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: virtual __thiscall CustomSlider::~CustomSlider(void)" (__imp_??1CustomSlider@@UAE@XZ) référencé dans la fonction "public: virtual void * __thiscall CustomSlider::`scalar deleting destructor'(unsigned int)" (??_GCustomSlider@@UAEPAXI@Z)
1>OgreNewt_BasicJoints.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: __thiscall CustomKinematicController::CustomKinematicController(struct NewtonBody const *,class dVector const &)" (__imp_??0CustomKinematicController@@QAE@PBUNewtonBody@@ABVdVector@@@Z) référencé dans la fonction "public: __thiscall OgreNewt::KinematicController::KinematicController(class OgreNewt::Body const *,class Ogre::Vector3 const &)" (??0KinematicController@OgreNewt@@QAE@PBVBody@1@ABVVector3@Ogre@@@Z)
1>OgreNewt_BasicJoints.obj : error LNK2001: symbole externe non résolu "protected: virtual void __thiscall CustomKinematicController::GetInfo(struct NewtonJointRecord *)const " (?GetInfo@CustomKinematicController@@MBEXPAUNewtonJointRecord@@@Z)
1>OgreNewt_BasicJoints.obj : error LNK2001: symbole externe non résolu "protected: virtual void __thiscall CustomKinematicController::SubmitConstraints(float,int)" (?SubmitConstraints@CustomKinematicController@@MAEXMH@Z)
1>OgreNewt_BasicJoints.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: virtual __thiscall CustomKinematicController::~CustomKinematicController(void)" (__imp_??1CustomKinematicController@@UAE@XZ) référencé dans la fonction "public: virtual void * __thiscall CustomKinematicController::`scalar deleting destructor'(unsigned int)" (??_GCustomKinematicController@@UAEPAXI@Z)
1>OgreNewt_BasicJoints.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: void __thiscall CustomKinematicController::SetTargetPosit(class dVector const &)" (__imp_?SetTargetPosit@CustomKinematicController@@QAEXABVdVector@@@Z) référencé dans la fonction "public: void __thiscall OgreNewt::KinematicController::setTargetPosit(class Ogre::Vector3 const &)" (?setTargetPosit@KinematicController@OgreNewt@@QAEXABVVector3@Ogre@@@Z)
1>OgreNewt_BasicJoints.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: void __thiscall CustomKinematicController::SetTargetMatrix(class dMatrix const &)" (__imp_?SetTargetMatrix@CustomKinematicController@@QAEXABVdMatrix@@@Z) référencé dans la fonction "public: void __thiscall OgreNewt::KinematicController::setTargetMatrix(class Ogre::Vector3 const &,class Ogre::Quaternion const &)" (?setTargetMatrix@KinematicController@OgreNewt@@QAEXABVVector3@Ogre@@ABVQuaternion@4@@Z)
1>OgreNewt_BasicJoints.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: class dMatrix __thiscall CustomKinematicController::GetTargetMatrix(void)const " (__imp_?GetTargetMatrix@CustomKinematicController@@QBE?AVdMatrix@@XZ) référencé dans la fonction "public: void __thiscall OgreNewt::KinematicController::getTargetMatrix(class Ogre::Vector3 &,class Ogre::Quaternion &)const " (?getTargetMatrix@KinematicController@OgreNewt@@QBEXAAVVector3@Ogre@@AAVQuaternion@4@@Z)
1>OgreNewt_Joint.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: struct NewtonBody const * __thiscall NewtonCustomJoint::GetBody0(void)const " (__imp_?GetBody0@NewtonCustomJoint@@QBEPBUNewtonBody@@XZ) référencé dans la fonction "public: class OgreNewt::Body * __thiscall OgreNewt::Joint::getBody0(void)const " (?getBody0@Joint@OgreNewt@@QBEPAVBody@2@XZ)
1>OgreNewt_Joint.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: struct NewtonBody const * __thiscall NewtonCustomJoint::GetBody1(void)const " (__imp_?GetBody1@NewtonCustomJoint@@QBEPBUNewtonBody@@XZ) référencé dans la fonction "public: class OgreNewt::Body * __thiscall OgreNewt::Joint::getBody1(void)const " (?getBody1@Joint@OgreNewt@@QBEPAVBody@2@XZ)
1>OgreNewt_Joint.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: struct NewtonJoint const * __thiscall NewtonCustomJoint::GetJoint(void)const " (__imp_?GetJoint@NewtonCustomJoint@@QBEPBUNewtonJoint@@XZ) référencé dans la fonction "protected: void __thiscall OgreNewt::Joint::addLinearRow(class Ogre::Vector3 const &,class Ogre::Vector3 const &,class Ogre::Vector3 const &)const " (?addLinearRow@Joint@OgreNewt@@IBEXABVVector3@Ogre@@00@Z)
1>OgreNewt_PlayerController.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: void __thiscall CustomPlayerController::GetVelocity(float &,float &,float &)const " (__imp_?GetVelocity@CustomPlayerController@@QBEXAAM00@Z) référencé dans la fonction "public: void __thiscall OgreNewt::PlayerController::getVelocity(float &,float &,class Ogre::Radian &)const " (?getVelocity@PlayerController@OgreNewt@@QBEXAAM0AAVRadian@Ogre@@@Z)
1>OgreNewt_PlayerController.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: void __thiscall CustomPlayerController::SetVelocity(float,float,float)" (__imp_?SetVelocity@CustomPlayerController@@QAEXMMM@Z) référencé dans la fonction "public: void __thiscall OgreNewt::PlayerController::setVelocity(float,float,class Ogre::Radian)" (?setVelocity@PlayerController@OgreNewt@@QAEXMMVRadian@Ogre@@@Z)
1>OgreNewt_PlayerController.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: float __thiscall CustomPlayerController::GetPlayerHeight(void)const " (__imp_?GetPlayerHeight@CustomPlayerController@@QBEMXZ) référencé dans la fonction "public: float __thiscall OgreNewt::PlayerController::getPlayerHeight(void)const " (?getPlayerHeight@PlayerController@OgreNewt@@QBEMXZ)
1>OgreNewt_PlayerController.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: __thiscall CustomPlayerController::CustomPlayerController(class dMatrix const &,struct NewtonBody const *,float,float)" (__imp_??0CustomPlayerController@@QAE@ABVdMatrix@@PBUNewtonBody@@MM@Z) référencé dans la fonction "public: __thiscall OgreNewt::PlayerController::PlayerController(class OgreNewt::Body *,float,float)" (??0PlayerController@OgreNewt@@QAE@PAVBody@1@MM@Z)
1>OgreNewt_PlayerController.obj : error LNK2001: symbole externe non résolu "public: virtual void __thiscall NewtonCustomJoint::GetInfo(struct NewtonJointRecord *)const " (?GetInfo@NewtonCustomJoint@@UBEXPAUNewtonJointRecord@@@Z)
1>OgreNewt_PlayerController.obj : error LNK2001: symbole externe non résolu "protected: virtual void __thiscall CustomPlayerController::SubmitConstraints(float,int)" (?SubmitConstraints@CustomPlayerController@@MAEXMH@Z)
1>OgreNewt_PlayerController.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: virtual __thiscall CustomPlayerController::~CustomPlayerController(void)" (__imp_??1CustomPlayerController@@UAE@XZ) référencé dans la fonction "public: virtual void * __thiscall CustomPlayerController::`scalar deleting destructor'(unsigned int)" (??_GCustomPlayerController@@UAEPAXI@Z)
1>OgreNewt_PlayerController.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: float __thiscall CustomPlayerController::GetPlayerStairHeight(void)const " (__imp_?GetPlayerStairHeight@CustomPlayerController@@QBEMXZ) référencé dans la fonction "protected: virtual void __thiscall OgreNewt::PlayerController::showDebugData(class Ogre::SceneNode *)" (?showDebugData@PlayerController@OgreNewt@@MAEXPAVSceneNode@Ogre@@@Z)
1>OgreNewt_PlayerController.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: struct NewtonCollision const * __thiscall CustomPlayerController::GetStairStepShape(void)const " (__imp_?GetStairStepShape@CustomPlayerController@@QBEPBUNewtonCollision@@XZ) référencé dans la fonction "protected: virtual void __thiscall OgreNewt::PlayerController::showDebugData(class Ogre::SceneNode *)" (?showDebugData@PlayerController@OgreNewt@@MAEXPAVSceneNode@Ogre@@@Z)
1>OgreNewt_PlayerController.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: struct NewtonCollision const * __thiscall CustomPlayerController::GetSensorShape(void)const " (__imp_?GetSensorShape@CustomPlayerController@@QBEPBUNewtonCollision@@XZ) référencé dans la fonction "protected: virtual void __thiscall OgreNewt::PlayerController::showDebugData(class Ogre::SceneNode *)" (?showDebugData@PlayerController@OgreNewt@@MAEXPAVSceneNode@Ogre@@@Z)
1>OgreNewt_PlayerController.obj : error LNK2019: symbole externe non résolu "public: __thiscall dMatrix::dMatrix(class dQuaternion const &,class dVector const &)" (??0dMatrix@@QAE@ABVdQuaternion@@ABVdVector@@@Z) référencé dans la fonction "protected: virtual void __thiscall OgreNewt::PlayerController::showDebugData(class Ogre::SceneNode *)" (?showDebugData@PlayerController@OgreNewt@@MAEXPAVSceneNode@Ogre@@@Z)


I am using Ogre 1.7, Newton 2.16, boost 1.4 and VC++ 2008 (I promise, I will install the english version soon..)

Zep

06-03-2010 09:47:29

i THINK I successfully generated the dll (even if i had to ignore the post-build events..)..I started from the beginning and it worked..I just need to test the lib and dll now..

mvelazquezm

09-03-2010 07:41:51

i THINK I successfully generated the dll (even if i had to ignore the post-build events..)..I started from the beginning and it worked..I just need to test the lib and dll now..

Do you test it? Works?

I have dlls with Ogre SDK 1.7, Newton 2.16, OgreNewt (last versión of SVN), Boost 1.42. I compiled the demo01, it compiles correctly (I get some warnings in operators and casting Ogre::Real -> other_numbers of C`++).

I include dlls of Ogre, Newton, resources.cfg and I get a Windows popup error. I try again later.

Zep

12-03-2010 18:51:37

Yes, the samples works. But actually I now use Ogre 1.65. However I don't think it matters.

What does your popup say ? Check in the Ogre.log, you may find where the issue comes from.

mvelazquezm

14-03-2010 14:03:01

Finally I have it woking!!!

I did it with Ogre 1.7 Sdk, Newton 2.18 SDK, OgreNewton (last SVN), Boost 1.42, Visual Studio C++ Express.
Minimal guide:

1. Download and install Ogre 1.7 (http://www.ogre3d.org/download)
I put Ogre in C:/OgreSDK_17. And set enviroment variable OGRE_HOME = C:/OgreSDK_17

2. Download Newton Dynamics 2.18 SDK (http://newtondynamics.com/forum/downloads.php)
I put in C:/Newton-1_18. And set enviroment variable NEWTON_HOME = C:/Newton-1_18

3. Download Boost 1.42 (http://sourceforge.net/projects/boost/f ... ost/1.42.0)
I put in C:/Boost-142. Set enviroment variable BOOST_HOME = C:/Boost-142

4. Download latest version of OgreNewton from with Tortoise or similar (https://svn.ogre3d.org/svnroot/ogreaddo ... /newton20/)
I put in C:/OgreNewt. Set enviroment variable OGRENEWTON_HOME

5. Open OgreNewt solution with Visual C++ Express 2008. We´ll work with OgreNewt proyect of the solution.
(NOTE: if you set parameter using enviroment variables and don´t work, change it for
real path...)
6. In release set next parameters:
6.1 Proyect properties -> C/C++ -> Genereal -> Aditional include directories
$(NEWTON_HOME)/sdk
$(NEWTON_HOME)/sdk/dMath
$(NEWTON_HOME)/sdk/dCustomJoints
$(OGRE_HOME)/include/OGRE
$(BOOST_HOME)
./inc

6.2 Proyect properties -> linker -> general -> Aditional library directories
$(BOOST_HOME)/libs
$(OGRE_HOME)/lib/debug --> debug for debug, release for release :-)
$(OGRENEWTON_HOME)/lib
$(NEWTON_HOME)/sdk/x32
$(NEWTON_HOME)/sdk/x32/dll_vs9
$(OGRE_HOME)/boost_1_42/lib --> I had to add libs that´s come with Ogre... It works! If you have error with BOOST_HOME, add it.

6.3 Proyect properties -> linker -> input -> aditional dependences
Add to the list, the next libs.
newton.lib
dMath(_d).lib --> use normal for release and _d for debug
dCustomJoints(_d).lib --> use normal for release and _d for debug
OgreMain(_d).lib --> use normal for release and _d for debug


7. Compile proyect
You´ll have a lot of warning (casting real to Ogre::real o something similar)
Probably you´ll get an error, but the files will be createn.
8. Set properties in Debug like release (using *_d.* files of libraries)
If you get error of memory. Add /Zm129 in Proyect properties -> C/C++ -> command line

9. You´ll have dll and lib in $(OGRENEWTON_HOME)/lib

--------------------------------------------------------------------------

10. Run an application.
11. Create proyect like Ogre. (adding includes and lib of Ogre and Boost)
12. Add in proyect properties -> C/C++ -> general -> Aditional include directories
$(NEWTON_HOME)/sdk
$(OGRENEWT_HOME)/inc
$(BOOST_HOME)
include
$(OGRE_HOME)/include/OIS
$(OGRE_HOME)/include/OGRE

13. Add in proyect properties -> linker -> Aditional library directories
$(NEWTON)/sdk/x32/dll_vs9
$(NEWTON)/sdk/x32
$(OGRENEWT_HOME)/lib
$(OGRE_HOME)/boost_1_42/lib --> again here, I dont know why....but works
$(BOOST_HOME)/libs
$(OGRE_HOME)/lib/debug

14. Add in proyect properties -> linker -> libraries
newton.lib, OgreNewton(_d).lib, OIS(_d).lib, OgreMain(_d).lib

15. Run your proyect, and be carefull about de path of resources.cfg, plugins.cfg, media paths....
Copy libraries that you need in the OutDir of your proyect....I can be $(OGRE_HOME)/bin...
You´ll need to copy JointLibrary(_d).dll, newton.dll, OgreNewt(_d).dll

NOTE: If you want to use demos of OgreNewt, You´ll have to change something.... but its easy.

Maroho

29-03-2010 17:30:34

Hi

I'm getting the error: cannot open input file 'OgreNewt_d.lib'

I see from the first post that this file should be created when the project is compiled, but it isn't when cmake is used. I'm not using cmake, I downloaded the latest version from svn and the solution files where already there, but I'm still getting the error. I've followed mvelazquezm's advice above but it's still not working.

Any advice?

mvelazquezm

30-03-2010 13:04:03

with the step 7, 8 and 9. You should have OgreNewt.lib, OgreNewt.dll, OgreNewt_d.lib and OgreNewt_d.dll in path $(OGRENEWTON_HOME)/lib
Do you have it??

If you have it, then you can do your own proyect using Newton Physics. Continue with step 10.

Make sure that you have all linked correctly in your own proyect (step 11, 12).
If your proyect compiles correctly, make sure that you copy the dlls in the execution path ($(OGRE_HOME)/bin/release|debug). Step (15)

Maroho

30-03-2010 14:24:04

It's working. The problem was my fault, I was compiling one of the demos when I should have been compiling the OgreNewt project. Silly me :oops:.

Thanks for your help.

Elimentz

07-05-2010 12:41:45

I'm currently having a problem with this build: I've followed your instructions, but now I have an error which I cannot fix:

Project : error PRJ0019: A tool returned an error code from "Performing Post-Build Event..."

I looked up the post-build events, but I really don't have a clue what I can or cannot edit.. anyone have an idea about what I should do?

marc_antoine

10-09-2010 14:52:21

int he post build events, the project copies the .libs and/or dll's ( depending on the project) to specific paths (the ones in the post build events), maybe the paths are pointing to an unexisting folder, or something, you can try deleting the postbuild events and let the project to create the dll's or libs in their default location, which in turn should be the Release or Debug folder of the project depending on your build configuration.

Actually if i'm right maybe they are already generated, just take a look at the release or debug folders they should be there and do a manual copy..

hope this gives some light..

Sjinta

29-09-2010 12:52:30

1>LINK : fatal error LNK1104: cannot open file 'libboost_thread-vc100-mt-gd-1_42.lib'

i keep getting this cursed error.. I've tried using the SDK's boost, the newest boost, boost 1.42. I've tried using vs 2008 in stead of 2010, but i can't get around this error.
What am i doing wrong?

ps. this is happening at step 7. when i try to build ogreNewt in the demo solution.

Sjinta

30-09-2010 13:35:37

using vs2010 just wont work with the currenct newton version because libs are missing.
i thought this problem was with boost but in the end it wasnt. The debug version isnt running yet, but i can finaly shoot cylinders at another cylinder. I'm happy!

So basically i got it runing using the steps on the 3rd page, and using vs2008. what went wrong before was that i still used ogresdk for vs2010.

mvelazquezm

30-09-2010 14:32:34

using vs2010 just wont work with the currenct newton version because libs are missing.
i thought this problem was with boost but in the end it wasnt. The debug version isnt running yet, but i can finaly shoot cylinders at another cylinder. I'm happy!

So basically i got it runing using the steps on the 3rd page, and using vs2008. what went wrong before was that i still used ogresdk for vs2010.


ok, nice.
I did it with vs2008, and I still using it. In future I´ll change to vs2010 and the newest OgreNewt version, but at the moment.... vs2008

64Pacific

15-10-2010 05:57:51

Hello:

I followed the tutorial found on page 2 of this thread in an attempt to install the following:

OgreNewt Rev 2974 from the SourceForge (I don't know where to find the actual version number of the OgreNewt that I have downloaded)
Ogre 1.7.1 for Visual Studio 2008, inc'l Boost 1.42
Newton 2.24

I have spend about 20 hours struggling to get this going (including the install of Ogre), and thought that somebody else might appreciate seeing what I ended up doing.

It seemed that I had to add a lot of additional directories as files were missing mainly: Ogre.h, NewtonCustomJoint.h, dVector.h, dMath.lib, libboost_thread-vc90-mt-1_42.lib and OgreMain.lib to fix these guys, I added the following (release), this includes all the suggested directories from the tutorial on page two of this thread:

To get the release version to compile:

C/C++ > General > Additional Include Directories

C:\Programming\NewtonWin-2.24\sdk\dCustomJoints
C:\Programming\NewtonWin-2.24\sdk\dMath
C:\Programming\NewtonWin-2.24\sdk\x32
C:\Programming\Ogre\include\OGRE
C:\Programming\OgreNewt\src;C:\Programming\Ogre\boost_1_42
C:\Programming\NewtonWin-2.24\sdk
C:\Programming\OgreNewt\inc

Linker > General > Additional Library Directories

C:\Programming\Ogre\boost_1_42\lib
C:\Programming\Ogre\lib\release
C:\Programming\NewtonWin-2.24\sdk\x3
C:\Programming\NewtonWin-2.24\sdk\dMath
C:\Programming\NewtonWin-2.24\sdk\x32\dll_vs9
C:\Programming\OgreNewt\lib

To Compile the debug version, I used all of the same directories as above with the following change, no missing files were encountered:

C/C++ > General > Additional Include Directories

C:\Programming\NewtonWin-2.24\sdk\dCustomJoints
C:\Programming\NewtonWin-2.24\sdk\dMath
C:\Programming\NewtonWin-2.24\sdk\x32
C:\Programming\Ogre\include\OGRE
C:\Programming\OgreNewt\src;C:\Programming\Ogre\boost_1_42
C:\Programming\NewtonWin-2.24\sdk
C:\Programming\OgreNewt\inc

Linker > General > Additional Library Directories

C:\Programming\Ogre\boost_1_42\lib
C:\Programming\Ogre\lib\debug
C:\Programming\NewtonWin-2.24\sdk\x3
C:\Programming\NewtonWin-2.24\sdk\dMath
C:\Programming\NewtonWin-2.24\sdk\x32\dll_vs9
C:\Programming\OgreNewt\lib

I did run into a few issues upon compiling of the debug version:

Error 1 error C3859: virtual memory range for PCH exceeded; please recompile with a command line option of '-Zm129' or greater C:\Program Files\Microsoft Visual Studio 9.0\VC\include\vector 220 OgreNewt
Error 2 fatal error C1076: compiler limit : internal heap limit reached; use /Zm to specify a higher limit C:\Program Files\Microsoft Visual Studio 9.0\VC\include\vector 220 OgreNewt

The MSDN library eventually let me to the following page, which resolved the issue:

http://msdn.microsoft.com/en-us/library/bdscwf1c.aspx

Edit: Added debug stuff and a bit about some errors that were encountered.

mvelazquezm

15-10-2010 07:26:47


Error 1 error C3859: virtual memory range for PCH exceeded; please recompile with a command line option of '-Zm129' or greater C:\Program Files\Microsoft Visual Studio 9.0\VC\include\vector 220 OgreNewt
Error 2 fatal error C1076: compiler limit : internal heap limit reached; use /Zm to specify a higher limit C:\Program Files\Microsoft Visual Studio 9.0\VC\include\vector 220 OgreNewt


Hi, put "/Zm129" in Proyect properties -> C/C++ -> command line without quotation marks.

64Pacific

15-10-2010 18:06:53

thanks for the pointer on that one, I was struggling to find the correct place to enter this, now everything works and I'm off to the tutorials! Finally!

blackmoore

07-03-2011 00:26:57

What can I do, when I get those unresolved externals? What am I doing wrong?

Ogre: 1.7
Newton: 2.22
VS10

1>------ Rebuild All started: Project: OgreNewt, Configuration: Release Win32 ------
1> OgreNewt_Stdafx.cpp
1> OgreNewt_BasicFrameListener.cpp
1>src\OgreNewt_BasicFrameListener.cpp(28): warning C4244: 'argument' : conversion from 'int' to 'Ogre::Real', possible loss of data
1> OgreNewt_BasicJoints.cpp
1> OgreNewt_Body.cpp
1> OgreNewt_BodyInAABBIterator.cpp
1> OgreNewt_Collision.cpp
1> OgreNewt_CollisionPrimitives.cpp
1>src\OgreNewt_CollisionPrimitives.cpp(762): warning C4244: '=' : conversion from 'double' to 'float', possible loss of data
1>src\OgreNewt_CollisionPrimitives.cpp(763): warning C4244: '=' : conversion from 'double' to 'float', possible loss of data
1>src\OgreNewt_CollisionPrimitives.cpp(764): warning C4244: '=' : conversion from 'double' to 'float', possible loss of data
1>src\OgreNewt_CollisionPrimitives.cpp(770): warning C4244: '=' : conversion from 'double' to 'float', possible loss of data
1> OgreNewt_CollisionSerializer.cpp
1> OgreNewt_ContactCallback.cpp
1> OgreNewt_ContactJoint.cpp
1> OgreNewt_ConvexCast.cpp
1> OgreNewt_Debugger.cpp
1> OgreNewt_Joint.cpp
1> OgreNewt_MaterialID.cpp
1> OgreNewt_MaterialPair.cpp
1> OgreNewt_PlayerController.cpp
1> OgreNewt_RayCast.cpp
1> OgreNewt_RayCastVehicle.cpp
1> OgreNewt_Tools.cpp
1> OgreNewt_Vehicle.cpp
1> OgreNewt_World.cpp
1> Generating Code...
1> Creating library lib\OgreNewt.lib and object lib\OgreNewt.exp
1>OgreNewt_BasicJoints.obj : error LNK2019: unresolved external symbol "class dMatrix __cdecl dgGrammSchmidt(class dVector const &)" (?dgGrammSchmidt@@YA?AVdMatrix@@ABVdVector@@@Z) referenced in function "public: __thiscall OgreNewt::Hinge::Hinge(class OgreNewt::Body const *,class OgreNewt::Body const *,class Ogre::Vector3 const &,class Ogre::Vector3 const &)" (??0Hinge@OgreNewt@@QAE@PBVBody@1@0ABVVector3@Ogre@@1@Z)
1>OgreNewt_PlayerController.obj : error LNK2019: unresolved external symbol "public: __thiscall dMatrix::dMatrix(class dQuaternion const &,class dVector const &)" (??0dMatrix@@QAE@ABVdQuaternion@@ABVdVector@@@Z) referenced in function "protected: virtual void __thiscall OgreNewt::PlayerController::showDebugData(class Ogre::SceneNode *)" (?showDebugData@PlayerController@OgreNewt@@MAEXPAVSceneNode@Ogre@@@Z)
1>OgreNewt_RayCastVehicle.obj : error LNK2001: unresolved external symbol "public: __thiscall dMatrix::dMatrix(class dQuaternion const &,class dVector const &)" (??0dMatrix@@QAE@ABVdQuaternion@@ABVdVector@@@Z)
1>OgreNewt_RayCastVehicle.obj : error LNK2019: unresolved external symbol "public: class dMatrix __thiscall dMatrix::operator*(class dMatrix const &)const " (??DdMatrix@@QBE?AV0@ABV0@@Z) referenced in function "public: virtual void __thiscall OgreNewt::RayCastVehicle::showDebugData(class Ogre::SceneNode *)" (?showDebugData@RayCastVehicle@OgreNewt@@UAEXPAVSceneNode@Ogre@@@Z)
1>./lib/OgreNewt.dll : fatal error LNK1120: 3 unresolved externals

miccinov

21-03-2011 10:00:04

I've same problem with newton 2.30 with the extern symbol. Now...i'm glad for this guide but the version of newton is 2.30 and the version 2.10 it's very old. This guide not function...someone can post a recent guide o link? Thx very much!

Lax

23-03-2011 13:29:23

I've adjusted ogrenewt with the new version 2.29. I can release my version to you all on demand.

06casswp

15-04-2011 18:23:50

Not sure if this is common knowledge, new to ogrenewt. But attempting to compile the latest ogrenewt and newton, but im getting a lot of these:
inc\OgreNewt_Body.h(273): error C2664: 'NewtonBodySetOmega' : cannot convert parameter 2 from 'const Ogre::Real *' to 'const float *const '
1> Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
I think it is probably due to that I have defined Ogre::Real to be 64 bit doubles instead of the usual floats when I compiled ogre. Can i confirm ogrenewt isnt compatible with ogre in 'double' mode?

Also got this error and a few more like it:
inc\OgreNewt_World.h(274): error C2660: 'NewtonWorldGetVersion' : function does not take 1 arguments
i take it ogrenewt (2979) hasnt been updated for newton 2.33

Shtuka

21-07-2011 15:18:37

I've adjusted ogrenewt with the new version 2.29. I can release my version to you all on demand.

Yes, I am interested! :)

Ivancho

26-09-2011 20:50:13

Hello all, sorry for noob question. :oops:

Compiling last SVN trunk, with last newton sdk, Ogre 1.7.2, VS 2008, got error

CarPlacementRaycast castRay (mCar->getBody0(), location);

Error 926 error C2259: 'CarPlacementRaycast' : cannot instantiate abstract class c:\Ogre\sdk\1\demos\Demo05_SimpleVehicle\OgreNewtonApplication.cpp 157 Demo05_SimpleVehicle

does not find something like this on site.

thanks.

nww02

28-09-2011 02:07:38

Am attempting to get started with Ogre+Physics.... Have given up on OgreBullet. It seems so fundamentally hard to get working, I'm gonna call it 'broken'.

OgreNewt seems much more promising, but am I right in thinking that the VS packages for OgreNewt don't seem to reflect the current state of Ogre or Newton? I am still unable to build it properly :(

If the maintainers / developers of OgreNewt have time, please could you have a look through the Win32 projects etc and perhaps update it to reflect the new Ogre/Newton structures, and maybe extend the how-to to include something which can let newcomers recognise valid values for the Environment variables... Something like this perhaps:-

"Assuming that you unpacked Ogre so that the file Ogre.h is found in C:\Ogre_1.7.2_SDK\include, then your OGRE_HOME folder would be C:\Ogre_1.7.2_SDK" ... etc.

Many thanks in advance,

ssratman

04-05-2012 04:14:32

I seem to be having a problem compiling OgreNewt on a windows platform using Code::Blocks and Mingw and Newton 2.32.
I am getting the following error on the compile and was wondering if anyone was having the same problem.
.\inc\OgreNewt_ContactJoint.h| |In member function 'void OgreNewt::Contact::getPositionAndNormal(Ogre::Vector3&, Ogre::Vector3&, OgreNewt::Body*) const':
.\inc\OgreNewt_ContactJoint.h|115|error: cannot convert 'NewtonBody*' to 'float*' for argument '2' to 'void NewtonMaterialGetContactPositionAndNormal(const NewtonMaterial*, float*, float*)'
.\inc\OgreNewt_ContactJoint.h| |In member function 'void OgreNewt::Contact::getTangentDirections(Ogre::Vector3&, Ogre::Vector3&, OgreNewt::Body*) const':
.\inc\OgreNewt_ContactJoint.h|118|error: cannot convert 'NewtonBody*' to 'float*' for argument '2' to 'void NewtonMaterialGetContactTangentDirections(const NewtonMaterial*, float*, float*)'

ssratman

04-05-2012 06:41:01

Here are the search directories i've used:
compiler:
C:\Users\User\Desktop\newton-dynamics-2.32\packages
C:\Users\User\Desktop\newton-dynamics-2.32\packages\dMath
C:\Users\User\Desktop\newton-dynamics-2.32\packages\dCustomJoints
C:\OgreSDK_mingw_v1-7-2\include\OGRE
C:\OgreSDK_mingw_v1-7-2\boost_1_44
.\inc
C:\Users\User\Desktop\newton-dynamics-2.32\coreLibrary_200\source\newton


Linker:
C:\OgreSDK_mingw_v1-7-2\lib
C:\OgreSDK_mingw_v1-7-2\lib\Debug
C:\OgreSDK_mingw_v1-7-2\boost_1_44\lib
C:\Users\User\Desktop\newton-dynamics-2.32\packages\Win32\debugDll


Resource Compiler:
C:\Users\User\Desktop\newton-dynamics-2.32\coreLibrary_200\source\newton
C:\Users\User\Desktop\newton-dynamics-2.32\packages\dMath
C:\Users\User\Desktop\newton-dynamics-2.32\packages\dCustomJoints
C:\OgreSDK_mingw_v1-7-2\include\OGRE
C:\OgreSDK_mingw_v1-7-2\boost_1_44
.\inc


And as a note i've got the newton-dynamics-2.32 folder on my desktop and the ogresdk is on base of c:(in-case you can't figure that out.) I'm hoping that someone with ms-vs encounters the same errors as I have.

millahjovich

04-07-2016 12:07:45

you're my star, it compiles OK, just one thing to add, you need the ogre SDK already installed to keep things working, I got confused at first thinking that newton20 is the ogre itself (as newton being its internal name lol), whatever, everything is fine now

Root13

02-11-2016 12:58:08

Thanks for the guide, I had no errors(lucky I am :) )