Official MeshMagick thread - now licensed under MIT

A place for users of OGRE to discuss ideas and experiences of utilitising OGRE in their games / demos / applications.
Post Reply
User avatar
Beauty
OGRE Community Helper
OGRE Community Helper
Posts: 767
Joined: Wed Oct 10, 2007 2:36 pm
Location: Germany
x 39
Contact:

Re: [New Tool] Ogre MeshMagick - First official release

Post by Beauty »

Oh, sorry for missing the previous posts :oops:
Nice to see that my suggestions are still done.

I installed the current OgreCommandLineTools (version 1.6.0) which is linked by the ogre main page:
http://www.ogre3d.org/download/tools
This is the official way to get it. So this should be updated if one of the tools are improved.

If this tool is seperated available somewhere else (as binary) then it would be good to link it on common place - on the main page and in the wiki. Otherwhise it's confusing.
Help to add information to the wiki. Also tiny edits will let it grow ... :idea:
Add your country to your profile ... it's interesting to know from where of the world you are.
User avatar
haffax
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 4823
Joined: Fri Jun 18, 2004 1:40 pm
Location: Berlin, Germany
x 7
Contact:

Re: [New Tool] Ogre MeshMagick - First official release

Post by haffax »

The official way is to get it from SVN, as this will always be the most complete and correct version.
The binary in the ogre command line tools are provided for convenience by Sinbad and it is only updated occasionally.
team-pantheon programmer
creators of Rastullahs Lockenpracht
andris
Gnoblar
Posts: 6
Joined: Tue Feb 07, 2006 12:13 am

Re: [New Tool] Ogre MeshMagick - First official release

Post by andris »

Hi,

do you think that MeshMagick could be updated to print the actual vertex/index buffer data? Or am I missing a way how to do that?

Example, have exported a mesh from Blender and need to check uv texture coordinates, since textures display correctly in Blender and not in the engine...

Thanks
User avatar
haffax
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 4823
Joined: Fri Jun 18, 2004 1:40 pm
Location: Berlin, Germany
x 7
Contact:

Re: [New Tool] Ogre MeshMagick - First official release

Post by haffax »

andris wrote:Hi,
do you think that MeshMagick could be updated to print the actual vertex/index buffer data? Or am I missing a way how to do that?
There is no functionality for this. While this could be added, I don't see sensible user stories. In your case, you can just look at the mesh.xml file. There all buffer data is visible in textual form and you can check the texture coordinates.

If you just want to check, whether texture coordinates are present, then use the info tool. If the buffer layout has a u(f2) section, then vertex declaration contains 2d texture coords.
team-pantheon programmer
creators of Rastullahs Lockenpracht
andris
Gnoblar
Posts: 6
Joined: Tue Feb 07, 2006 12:13 am

Re: [New Tool] Ogre MeshMagick - First official release

Post by andris »

haffax wrote:
andris wrote:Hi,
do you think that MeshMagick could be updated to print the actual vertex/index buffer data? Or am I missing a way how to do that?
There is no functionality for this. While this could be added, I don't see sensible user stories.
Understand
haffax wrote:In your case, you can just look at the mesh.xml file. There all buffer data is visible in textual form and you can check the texture coordinates.
Thanks, good tip, didn't come to my mind, since I don't already have the xml file (deleted while folder cleanup), but NP
User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179
Contact:

Re: [New Tool] Ogre MeshMagick - First official release

Post by jacmoe »

<rant>

Is there any reason why MeshMagick is LGPL'ed?
What's wrong with MIT/ZLIB ?
If it's meant to be used as a commanline tool *and* a utility library, I'd rather include it directly into my projects instead of having to have even more DLLs around..
Seems like a license overkill to me.
It's funny how (nearly) all Ogre plugins are LGPL licensed.. When Bullet, CEGUI and most of Googles open source projects are MIT/ZLIB.
Are people afraid that we might run away with the code? :)
I see a move towards more open licenses now, as Open Source matures.

Okay. Rant over. :wink:

</rant>
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
User avatar
haffax
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 4823
Joined: Fri Jun 18, 2004 1:40 pm
Location: Berlin, Germany
x 7
Contact:

Re: [New Tool] Ogre MeshMagick - First official release

Post by haffax »

Frankly, I prefer questions being asked as questions, not as rants, already suggesting a (dead-wrong) answer. (A rant is not becoming any more polite, when you put it in tags.)
No I am not afraid that my code may run away. Actually meshmagick is one of only two of my projects being released as (L)GPL, all others being more lenient.

LGPL was and still is a natural license for Ogre, which itself is LGPL. So far there is no need for a change and you didn't name one specifically and I am not going through the hassle of changing it to the license du jour. Just in order to change it again to whatever license is in vogue next year.

So: I am not going to change the license, on a general note. Unless a very specific argument is made in favor of a change, I don't see a need for further discussion.
team-pantheon programmer
creators of Rastullahs Lockenpracht
User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179
Contact:

Re: [New Tool] Ogre MeshMagick - First official release

Post by jacmoe »

<edit>
I realise - after reading my post again - that I came off as rude. That wasn't the intention.
My apologies.
</edit>
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
User avatar
haffax
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 4823
Joined: Fri Jun 18, 2004 1:40 pm
Location: Berlin, Germany
x 7
Contact:

Re: [New Tool] Ogre MeshMagick - First official release

Post by haffax »

Coming out too strong is what I am good at too. ;) Sorry.
team-pantheon programmer
creators of Rastullahs Lockenpracht
User avatar
xabila
Goblin
Posts: 225
Joined: Mon Jun 05, 2006 9:40 am
Location: rennes [FR]

Re: [New Tool] Ogre MeshMagick - First official release

Post by xabila »

It could be cool to use all the features of meshmagick without loading a .mesh but directly with a MeshPtr.
So we could get some mesh-info directly on a mesh loaded with the Ogre::SceneManager for instance...

Currently i'm using meshmagick to merge a complete hierarchie of SceneNode on a new mesh, and i'm force to change the API to do that.

So what do you think about that ? i can give you the diff if you want
User avatar
haffax
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 4823
Joined: Fri Jun 18, 2004 1:40 pm
Location: Berlin, Germany
x 7
Contact:

Re: [New Tool] Ogre MeshMagick - First official release

Post by haffax »

Hi Xabila,

The Tool-API has to become friendlier for usage as a lib. This is true. The library option has been added ad-hoc because we needed it for the meshmerge tool and thus it is not as tidy as it could be.
So MeshPtr/SkeletonPtr usage and tool facades are planned features.

I don't know about SceneNode hierarchy merging though. (Not sure if you were proposing this even.) I want to keep it small in what parts of Ogre are used and I don't want to create a RenderSystem. So far only the math/string utils and resources are being used. I prefer to keep it that way. More so as traversing the scene node hierarchy is easy to do in a facade layer between meshmagick and your application.

I gladly accept the diff for your changes, but I don't promise to implement it exactly like you did. But I will keep in mind what you need it for.
team-pantheon programmer
creators of Rastullahs Lockenpracht
User avatar
xabila
Goblin
Posts: 225
Joined: Mon Jun 05, 2006 9:40 am
Location: rennes [FR]

Re: [New Tool] Ogre MeshMagick - First official release

Post by xabila »

Ok thanks.
I will give you the diff as soon as my sceneNode merge will work...

Right now i juste merge with the transformTool and the meshMergeTool the hierarchie, so it' not complicated stuff...
User avatar
xabila
Goblin
Posts: 225
Joined: Mon Jun 05, 2006 9:40 am
Location: rennes [FR]

Re: [New Tool] Ogre MeshMagick - First official release

Post by xabila »

Ok, it works.

I won't give you the code right now of the sceneNode Merge, but i will put it on a plugin for gose, wich is open source also...

May i give you the diff by pm ?

So actually, i add a mMeshes.clear() on the MeshMergeTool bake function and i changed some stuff on InfoTool, in order to display a getMeshInfo on MeshPtr...
Demorian
Gnoblar
Posts: 1
Joined: Mon May 04, 2009 12:06 pm

Re: [New Tool] Ogre MeshMagick - First official release

Post by Demorian »

Hi, would it be possible for anyone to upload the compiled 0.5 version somewhere please?
Every time I try compiling something it always fails :P

..and because I don't like taking without giving...
@andris -
Thanks, good tip, didn't come to my mind, since I don't already have the xml file (deleted while folder cleanup), but NP
You may already know and/or it's too late, but the OgreXMLConverter command line tool will convert your mesh back to XML too
Because the default behaviour is to convert binary to XML and vice versa, you
can simply drag files onto this converter and it will convert between the 2
formats, although you will not be able to use it to generate LOD levels this
way.
Thanks
User avatar
xabila
Goblin
Posts: 225
Joined: Mon Jun 05, 2006 9:40 am
Location: rennes [FR]

Re: [New Tool] Ogre MeshMagick - First official release

Post by xabila »

I'm trying to compile now my version of gose with meshmagic on windows.
The linux version is fine, but i've got some linking errors.
I'm not a big fan of developping on visual so maybe i'm missing something :

Code: Select all

Copyright (C) Microsoft Corporation.  All rights reserved.
Édition des liens en cours...
   Création de la bibliothèque ..\Runtime\Release\gose.lib et de l'objet ..\Runtime\Release\gose.exp
MapEditorTreeView.obj : error LNK2019: symbole externe non résolu "public: virtual __thiscall meshmagick::Tool::~Tool(void)" (??1Tool@meshmagick@@UAE@XZ) référencé dans la fonction "public: virtual void * __thiscall meshmagick::Tool::`scalar deleting destructor'(unsigned int)" (??_GTool@meshmagick@@UAEPAXI@Z)
MapEditorTreeView.obj : error LNK2019: symbole externe non résolu "protected: static class meshmagick::OgreEnvironment * Ogre::Singleton<class meshmagick::OgreEnvironment>::ms_Singleton" (?ms_Singleton@?$Singleton@VOgreEnvironment@meshmagick@@@Ogre@@1PAVOgreEnvironment@meshmagick@@A) référencé dans la fonction "public: __thiscall Ogre::Singleton<class meshmagick::OgreEnvironment>::Singleton<class meshmagick::OgreEnvironment>(void)" (??0?$Singleton@VOgreEnvironment@meshmagick@@@Ogre@@QAE@XZ)
MapEditorTreeView.obj : error LNK2001: symbole externe non résolu "public: virtual class meshmagick::Tool * __thiscall meshmagick::InfoToolFactory::createTool(void)" (?createTool@InfoToolFactory@meshmagick@@UAEPAVTool@2@XZ)
MapEditorTreeView.obj : error LNK2001: symbole externe non résolu "public: virtual void __thiscall meshmagick::InfoToolFactory::destroyTool(class meshmagick::Tool *)" (?destroyTool@InfoToolFactory@meshmagick@@UAEXPAVTool@2@@Z)
MapEditorTreeView.obj : error LNK2001: symbole externe non résolu "public: virtual class std::set<struct meshmagick::OptionDefinition,struct std::less<struct meshmagick::OptionDefinition>,class std::allocator<struct meshmagick::OptionDefinition> > __thiscall meshmagick::InfoToolFactory::getOptionDefinitions(void)const " (?getOptionDefinitions@InfoToolFactory@meshmagick@@UBE?AV?$set@UOptionDefinition@meshmagick@@U?$less@UOptionDefinition@meshmagick@@@std@@V?$allocator@UOptionDefinition@meshmagick@@@4@@std@@XZ)
MapEditorTreeView.obj : error LNK2001: symbole externe non résolu "public: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall meshmagick::InfoToolFactory::getToolName(void)const " (?getToolName@InfoToolFactory@meshmagick@@UBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ)
MapEditorTreeView.obj : error LNK2001: symbole externe non résolu "public: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall meshmagick::InfoToolFactory::getToolDescription(void)const " (?getToolDescription@InfoToolFactory@meshmagick@@UBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ)
MapEditorTreeView.obj : error LNK2001: symbole externe non résolu "public: virtual void __thiscall meshmagick::InfoToolFactory::printToolHelp(class std::basic_ostream<char,struct std::char_traits<char> > &)const " (?printToolHelp@InfoToolFactory@meshmagick@@UBEXAAV?$basic_ostream@DU?$char_traits@D@std@@@std@@@Z)
MapEditorTreeView.obj : error LNK2001: symbole externe non résolu "public: virtual class meshmagick::Tool * __thiscall meshmagick::TransformToolFactory::createTool(void)" (?createTool@TransformToolFactory@meshmagick@@UAEPAVTool@2@XZ)
MapEditorTreeView.obj : error LNK2001: symbole externe non résolu "public: virtual void __thiscall meshmagick::TransformToolFactory::destroyTool(class meshmagick::Tool *)" (?destroyTool@TransformToolFactory@meshmagick@@UAEXPAVTool@2@@Z)
MapEditorTreeView.obj : error LNK2001: symbole externe non résolu "public: virtual class std::set<struct meshmagick::OptionDefinition,struct std::less<struct meshmagick::OptionDefinition>,class std::allocator<struct meshmagick::OptionDefinition> > __thiscall meshmagick::TransformToolFactory::getOptionDefinitions(void)const " (?getOptionDefinitions@TransformToolFactory@meshmagick@@UBE?AV?$set@UOptionDefinition@meshmagick@@U?$less@UOptionDefinition@meshmagick@@@std@@V?$allocator@UOptionDefinition@meshmagick@@@4@@std@@XZ)
MapEditorTreeView.obj : error LNK2001: symbole externe non résolu "public: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall meshmagick::TransformToolFactory::getToolName(void)const " (?getToolName@TransformToolFactory@meshmagick@@UBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ)
MapEditorTreeView.obj : error LNK2001: symbole externe non résolu "public: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall meshmagick::TransformToolFactory::getToolDescription(void)const " (?getToolDescription@TransformToolFactory@meshmagick@@UBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ)
MapEditorTreeView.obj : error LNK2001: symbole externe non résolu "public: virtual void __thiscall meshmagick::TransformToolFactory::printToolHelp(class std::basic_ostream<char,struct std::char_traits<char> > &)const " (?printToolHelp@TransformToolFactory@meshmagick@@UBEXAAV?$basic_ostream@DU?$char_traits@D@std@@@std@@@Z)
MapEditorTreeView.obj : error LNK2001: symbole externe non résolu "public: virtual class meshmagick::Tool * __thiscall meshmagick::MeshMergeToolFactory::createTool(void)" (?createTool@MeshMergeToolFactory@meshmagick@@UAEPAVTool@2@XZ)
MapEditorTreeView.obj : error LNK2001: symbole externe non résolu "public: virtual void __thiscall meshmagick::MeshMergeToolFactory::destroyTool(class meshmagick::Tool *)" (?destroyTool@MeshMergeToolFactory@meshmagick@@UAEXPAVTool@2@@Z)
MapEditorTreeView.obj : error LNK2001: symbole externe non résolu "public: virtual class std::set<struct meshmagick::OptionDefinition,struct std::less<struct meshmagick::OptionDefinition>,class std::allocator<struct meshmagick::OptionDefinition> > __thiscall meshmagick::MeshMergeToolFactory::getOptionDefinitions(void)const " (?getOptionDefinitions@MeshMergeToolFactory@meshmagick@@UBE?AV?$set@UOptionDefinition@meshmagick@@U?$less@UOptionDefinition@meshmagick@@@std@@V?$allocator@UOptionDefinition@meshmagick@@@4@@std@@XZ)
MapEditorTreeView.obj : error LNK2001: symbole externe non résolu "public: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall meshmagick::MeshMergeToolFactory::getToolName(void)const " (?getToolName@MeshMergeToolFactory@meshmagick@@UBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ)
MapEditorTreeView.obj : error LNK2001: symbole externe non résolu "public: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall meshmagick::MeshMergeToolFactory::getToolDescription(void)const " (?getToolDescription@MeshMergeToolFactory@meshmagick@@UBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ)
MapEditorTreeView.obj : error LNK2001: symbole externe non résolu "public: virtual void __thiscall meshmagick::MeshMergeToolFactory::printToolHelp(class std::basic_ostream<char,struct std::char_traits<char> > &)const " (?printToolHelp@MeshMergeToolFactory@meshmagick@@UBEXAAV?$basic_ostream@DU?$char_traits@D@std@@@std@@@Z)
MapEditorTreeView.obj : error LNK2019: symbole externe non résolu "public: struct meshmagick::MeshInfo __thiscall meshmagick::InfoTool::getMeshInfo(class Ogre::MeshPtr)const " (?getMeshInfo@InfoTool@meshmagick@@QBE?AUMeshInfo@2@VMeshPtr@Ogre@@@Z) référencé dans la fonction "protected: void __thiscall MapEditorTreeView::addEntry(class Gtk::TreeRow,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?addEntry@MapEditorTreeView@@IAEXVTreeRow@Gtk@@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@1@Z)
..\Runtime\Release\gose.exe : fatal error LNK1120: 21 externes non résolus
i have tried to add the /OPT;noref and i had a -DMESHMAGIC_EXPORTS but it's the same :(
User avatar
haffax
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 4823
Joined: Fri Jun 18, 2004 1:40 pm
Location: Berlin, Germany
x 7
Contact:

Re: [New Tool] Ogre MeshMagick - First official release

Post by haffax »

What are you building there? A program or a lib? And how do you add meshmagick to it?

Please paste the content of the buildlog.htm as shown in a browser rather than just the output window content. The buildlog.htm shows all your build options, much easier to spot a problem.
team-pantheon programmer
creators of Rastullahs Lockenpracht
User avatar
xabila
Goblin
Posts: 225
Joined: Mon Jun 05, 2006 9:40 am
Location: rennes [FR]

Re: [New Tool] Ogre MeshMagick - First official release

Post by xabila »

Ok, so GOSE is an application (Gtkmm Ogre Scene Editor) and here is the log (in french sorry)
Thanks a lot

PS: it' s the same problem in release ...

Code: Select all

Journal de génération
 	 	
Générer démarrée : Projet : gose, Configuration : Debug|Win32


Lignes de commande
 	 	
Création du fichier temporaire "d:\SVN\GVT_V2\dev\xavier\Gose\build\src\gose.dir\Debug\RSP00000876927392.rsp" avec pour contenu
[
/OUT:"..\Runtime\Debug\gose.exe" /VERSION:0.0 /INCREMENTAL /LIBPATH:"C:\GTKMM\lib\Debug" /LIBPATH:"C:\GTKMM\lib" /LIBPATH:"D:\Program Files\OBT\lib\Debug" /LIBPATH:"D:\Program Files\OBT\lib" /LIBPATH:"D:\SVN\GVT_V2\meshmagic\meshmagick\lib\Debug" /LIBPATH:"D:\SVN\GVT_V2\meshmagic\meshmagick\lib" /LIBPATH:"C:\OgreSDK\lib\Debug" /LIBPATH:"C:\OgreSDK\lib" /LIBPATH:"D:\Program Files\DotSceneInterface\lib\Debug" /LIBPATH:"D:\Program Files\DotSceneInterface\lib" /LIBPATH:".\Debug" /LIBPATH:"." /MANIFEST /MANIFESTFILE:"gose.dir\Debug\gose.exe.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG /PDB:"../Runtime/Debug\gose.pdb" /SUBSYSTEM:CONSOLE /DYNAMICBASE /NXCOMPAT  /STACK:10000000 /machine:I386 /OPT:NOREF /IMPLIB:..\Runtime\Release\gose.lib /debug kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib OgreMain_d.lib OgreGUIRenderer_d.lib OBT_vc90_d.lib MESHMAGICK_d.lib glademm-vc90-2_4.lib xml++-vc90-2_6.lib gtkmm-vc90-2_4.lib glade-2.0.lib gdkmm-vc90-2_4.lib atkmm-vc90-1_6.lib pangomm-vc90-1_4.lib giomm-vc90-2_4.lib glibmm-vc90-2_4.lib cairomm-vc90-1_0.lib sigc-vc90-2_0.lib gtk-win32-2.0.lib libxml2.lib gdk-win32-2.0.lib atk-1.0.lib gdk_pixbuf-2.0.lib pangowin32-1.0.lib pangocairo-1.0.lib pango-1.0.lib cairo.lib gio-2.0.lib gobject-2.0.lib gmodule-2.0.lib glib-2.0.lib intl.lib iconv.lib DotSceneInterface_vc90_d.lib

".\gose.dir\Debug\gose.res"

".\gose.dir\Debug\About.obj"

".\gose.dir\Debug\AboutBase.obj"

".\gose.dir\Debug\GtkOgreWidget.obj"

".\gose.dir\Debug\GtkSceneEditor.obj"

".\gose.dir\Debug\ImportExportScene.obj"

".\gose.dir\Debug\ImportMesh.obj"

".\gose.dir\Debug\IPathGladeService.obj"

".\gose.dir\Debug\IPluginService.obj"

".\gose.dir\Debug\IPopupMenuService.obj"

".\gose.dir\Debug\MapEditorTreeView.obj"

".\gose.dir\Debug\MEApplication.obj"

".\gose.dir\Debug\MEPlugins.obj"

".\gose.dir\Debug\OgreView.obj"

".\gose.dir\Debug\PopupMenuService.obj"

".\gose.dir\Debug\PopupViewport.obj"

".\gose.dir\Debug\ProcessAnim.obj"

".\gose.dir\Debug\ProcessAnimBase.obj"

".\gose.dir\Debug\ProcessCamera.obj"

".\gose.dir\Debug\ProcessCameraBase.obj"

".\gose.dir\Debug\ProcessLight.obj"

".\gose.dir\Debug\ProcessLightBase.obj"

".\gose.dir\Debug\ProcessMaterial.obj"

".\gose.dir\Debug\ProcessMaterialBase.obj"

".\gose.dir\Debug\ProcessMeshAnim.obj"

".\gose.dir\Debug\ProcessMeshAnimBase.obj"

".\gose.dir\Debug\ProcessTransform.obj"

".\gose.dir\Debug\ProcessTransformBase.obj"

".\gose.dir\Debug\ProcessViewport.obj"

".\gose.dir\Debug\ProcessViewportBase.obj"

".\gose.dir\Debug\stdafx.obj"

".\gose.dir\Debug\TabNav.obj"

".\gose.dir\Debug\TabNavBase.obj"

".\gose.dir\Debug\TabProperties.obj"

".\gose.dir\Debug\TabPropertiesBase.obj"

".\gose.dir\Debug\gose.exe.embed.manifest.res"
]
Création de la ligne de commande "link.exe @d:\SVN\GVT_V2\dev\xavier\Gose\build\src\gose.dir\Debug\RSP00000876927392.rsp /NOLOGO /ERRORREPORT:PROMPT"
Fenêtre Sortie
 	 	
Édition des liens en cours...
   Création de la bibliothèque ..\Runtime\Release\gose.lib et de l'objet ..\Runtime\Release\gose.exp
MapEditorTreeView.obj : error LNK2019: symbole externe non résolu "public: virtual __thiscall meshmagick::Tool::~Tool(void)" (??1Tool@meshmagick@@UAE@XZ) référencé dans la fonction "public: virtual __thiscall meshmagick::TransformTool::~TransformTool(void)" (??1TransformTool@meshmagick@@UAE@XZ)
MapEditorTreeView.obj : error LNK2001: symbole externe non résolu "public: virtual class meshmagick::Tool * __thiscall meshmagick::InfoToolFactory::createTool(void)" (?createTool@InfoToolFactory@meshmagick@@UAEPAVTool@2@XZ)
MapEditorTreeView.obj : error LNK2001: symbole externe non résolu "public: virtual void __thiscall meshmagick::InfoToolFactory::destroyTool(class meshmagick::Tool *)" (?destroyTool@InfoToolFactory@meshmagick@@UAEXPAVTool@2@@Z)
MapEditorTreeView.obj : error LNK2001: symbole externe non résolu "public: virtual class std::set,class std::allocator > __thiscall meshmagick::InfoToolFactory::getOptionDefinitions(void)const " (?getOptionDefinitions@InfoToolFactory@meshmagick@@UBE?AV?$set@UOptionDefinition@meshmagick@@U?$less@UOptionDefinition@meshmagick@@@std@@V?$allocator@UOptionDefinition@meshmagick@@@4@@std@@XZ)
MapEditorTreeView.obj : error LNK2001: symbole externe non résolu "public: virtual class std::basic_string,class std::allocator > __thiscall meshmagick::InfoToolFactory::getToolName(void)const " (?getToolName@InfoToolFactory@meshmagick@@UBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ)
MapEditorTreeView.obj : error LNK2001: symbole externe non résolu "public: virtual class std::basic_string,class std::allocator > __thiscall meshmagick::InfoToolFactory::getToolDescription(void)const " (?getToolDescription@InfoToolFactory@meshmagick@@UBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ)
MapEditorTreeView.obj : error LNK2001: symbole externe non résolu "public: virtual void __thiscall meshmagick::InfoToolFactory::printToolHelp(class std::basic_ostream > &)const " (?printToolHelp@InfoToolFactory@meshmagick@@UBEXAAV?$basic_ostream@DU?$char_traits@D@std@@@std@@@Z)
MapEditorTreeView.obj : error LNK2001: symbole externe non résolu "public: virtual class meshmagick::Tool * __thiscall meshmagick::TransformToolFactory::createTool(void)" (?createTool@TransformToolFactory@meshmagick@@UAEPAVTool@2@XZ)
MapEditorTreeView.obj : error LNK2001: symbole externe non résolu "public: virtual void __thiscall meshmagick::TransformToolFactory::destroyTool(class meshmagick::Tool *)" (?destroyTool@TransformToolFactory@meshmagick@@UAEXPAVTool@2@@Z)
MapEditorTreeView.obj : error LNK2001: symbole externe non résolu "public: virtual class std::set,class std::allocator > __thiscall meshmagick::TransformToolFactory::getOptionDefinitions(void)const " (?getOptionDefinitions@TransformToolFactory@meshmagick@@UBE?AV?$set@UOptionDefinition@meshmagick@@U?$less@UOptionDefinition@meshmagick@@@std@@V?$allocator@UOptionDefinition@meshmagick@@@4@@std@@XZ)
MapEditorTreeView.obj : error LNK2001: symbole externe non résolu "public: virtual class std::basic_string,class std::allocator > __thiscall meshmagick::TransformToolFactory::getToolName(void)const " (?getToolName@TransformToolFactory@meshmagick@@UBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ)
MapEditorTreeView.obj : error LNK2001: symbole externe non résolu "public: virtual class std::basic_string,class std::allocator > __thiscall meshmagick::TransformToolFactory::getToolDescription(void)const " (?getToolDescription@TransformToolFactory@meshmagick@@UBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ)
MapEditorTreeView.obj : error LNK2001: symbole externe non résolu "public: virtual void __thiscall meshmagick::TransformToolFactory::printToolHelp(class std::basic_ostream > &)const " (?printToolHelp@TransformToolFactory@meshmagick@@UBEXAAV?$basic_ostream@DU?$char_traits@D@std@@@std@@@Z)
MapEditorTreeView.obj : error LNK2001: symbole externe non résolu "public: virtual class meshmagick::Tool * __thiscall meshmagick::MeshMergeToolFactory::createTool(void)" (?createTool@MeshMergeToolFactory@meshmagick@@UAEPAVTool@2@XZ)
MapEditorTreeView.obj : error LNK2001: symbole externe non résolu "public: virtual void __thiscall meshmagick::MeshMergeToolFactory::destroyTool(class meshmagick::Tool *)" (?destroyTool@MeshMergeToolFactory@meshmagick@@UAEXPAVTool@2@@Z)
MapEditorTreeView.obj : error LNK2001: symbole externe non résolu "public: virtual class std::set,class std::allocator > __thiscall meshmagick::MeshMergeToolFactory::getOptionDefinitions(void)const " (?getOptionDefinitions@MeshMergeToolFactory@meshmagick@@UBE?AV?$set@UOptionDefinition@meshmagick@@U?$less@UOptionDefinition@meshmagick@@@std@@V?$allocator@UOptionDefinition@meshmagick@@@4@@std@@XZ)
MapEditorTreeView.obj : error LNK2001: symbole externe non résolu "public: virtual class std::basic_string,class std::allocator > __thiscall meshmagick::MeshMergeToolFactory::getToolName(void)const " (?getToolName@MeshMergeToolFactory@meshmagick@@UBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ)
MapEditorTreeView.obj : error LNK2001: symbole externe non résolu "public: virtual class std::basic_string,class std::allocator > __thiscall meshmagick::MeshMergeToolFactory::getToolDescription(void)const " (?getToolDescription@MeshMergeToolFactory@meshmagick@@UBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ)
MapEditorTreeView.obj : error LNK2001: symbole externe non résolu "public: virtual void __thiscall meshmagick::MeshMergeToolFactory::printToolHelp(class std::basic_ostream > &)const " (?printToolHelp@MeshMergeToolFactory@meshmagick@@UBEXAAV?$basic_ostream@DU?$char_traits@D@std@@@std@@@Z)
MapEditorTreeView.obj : error LNK2019: symbole externe non résolu "public: struct meshmagick::MeshInfo __thiscall meshmagick::InfoTool::getMeshInfo(class Ogre::MeshPtr)const " (?getMeshInfo@InfoTool@meshmagick@@QBE?AUMeshInfo@2@VMeshPtr@Ogre@@@Z) référencé dans la fonction "protected: void __thiscall MapEditorTreeView::addEntry(class Gtk::TreeRow,class std::basic_string,class std::allocator > const &,class std::basic_string,class std::allocator > const &)" (?addEntry@MapEditorTreeView@@IAEXVTreeRow@Gtk@@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@1@Z)
MapEditorTreeView.obj : error LNK2001: symbole externe non résolu "protected: static class meshmagick::OgreEnvironment * Ogre::Singleton::ms_Singleton" (?ms_Singleton@?$Singleton@VOgreEnvironment@meshmagick@@@Ogre@@1PAVOgreEnvironment@meshmagick@@A)
..\Runtime\Debug\gose.exe : fatal error LNK1120: 21 externes non résolus
Résultats
 	 	
Le journal de génération a été enregistré à l'emplacement "file://d:\SVN\GVT_V2\dev\xavier\Gose\build\src\gose.dir\Debug\BuildLog.htm"
gose - 22 erreur(s), 0 avertissement(s)

User avatar
haffax
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 4823
Joined: Fri Jun 18, 2004 1:40 pm
Location: Berlin, Germany
x 7
Contact:

Re: [New Tool] Ogre MeshMagick - First official release

Post by haffax »

You have two different meshmagick lib directories included in your libpath. You should clean that up, to be sure you link the actual one.

But the first part is of the log is missing, I should have said to paste the buildlog.htm from a fresh build, here the compiler part is missing, which has the two interesting settings. No additional preprocessor definitions are needed beside the normal ones. Also you need to compile it with /MDd runtime lib settings.
team-pantheon programmer
creators of Rastullahs Lockenpracht
User avatar
xabila
Goblin
Posts: 225
Joined: Mon Jun 05, 2006 9:40 am
Location: rennes [FR]

Re: [New Tool] Ogre MeshMagick - First official release

Post by xabila »

Ok Thanks a lot, here is the command line from the release version.

Code: Select all

	
Création du fichier temporaire "d:\SVN\GVT_V2\dev\xavier\Gose\build\src\gose.dir\Release\BAT0000154708736.bat" avec pour contenu
[
@echo off

"D:\Program Files\CMake 2.4\bin\cmake.exe" -HD:/SVN/GVT_V2/dev/xavier/Gose -BD:/SVN/GVT_V2/dev/xavier/Gose/build



if errorlevel 1 goto VCReportError

goto VCEnd

:VCReportError

echo Project : error PRJ0019: Un outil a retourné un code d'erreur à partir de "Building Custom Rule D:/SVN/GVT_V2/dev/xavier/Gose/src/CMakeLists.txt"

exit 1

:VCEnd
]
Création de la ligne de commande "d:\SVN\GVT_V2\dev\xavier\Gose\build\src\gose.dir\Release\BAT0000154708736.bat"
Création du fichier temporaire "d:\SVN\GVT_V2\dev\xavier\Gose\build\src\gose.dir\Release\RSP0000164708736.rsp" avec pour contenu
[
/O2 /Ob2 /I "c:\OgreSDK\include" /I "D:\SVN\GVT_V2\dev\xavier\Gose\src\ c:\OgreSDK\samples\include" /I "D:\SVN\GVT_V2\dev\xavier\Gose\build\src" /I "D:\SVN\GVT_V2\dev\xavier\Gose\src\." /I "C:\GTKMM\include\libglademm-2.4" /I "C:\GTKMM\lib\libglademm-2.4\include" /I "C:\GTKMM\lib\gtkmm-2.4\include" /I "C:\GTKMM\include\gtkmm-2.4" /I "C:\GTKMM\lib\gdkmm-2.4\include" /I "C:\GTKMM\include\gdkmm-2.4" /I "C:\GTKMM\include\pangomm-1.4" /I "C:\GTKMM\include\atkmm-1.6" /I "C:\GTKMM\lib\libxml++-2.6\include" /I "C:\GTKMM\include\libxml++-2.6" /I "C:\GTKMM\lib\giomm-2.4\include" /I "C:\GTKMM\include\giomm-2.4" /I "C:\GTKMM\lib\glibmm-2.4\include" /I "C:\GTKMM\include\glibmm-2.4" /I "C:\GTKMM\include\cairomm-1.0" /I "C:\GTKMM\lib\sigc++-2.0\include" /I "C:\GTKMM\include\sigc++-2.0" /I "C:\GTKMM\include\libglade-2.0" /I "C:\GTKMM\lib\gtk-2.0\include" /I "C:\GTKMM\include\gtk-2.0" /I "C:\GTKMM\include\pango-1.0" /I "C:\GTKMM\include\atk-1.0" /I "C:\GTKMM\lib\glib-2.0\include" /I "C:\GTKMM\include\glib-2.0" /I "C:\GTKMM\include\libxml2" /I "C:\GTKMM\include\cairo" /I "C:\GTKMM\include" /I "D:\Program Files\OBT\include" /I "D:\SVN\GVT_V2\meshmagic\meshmagick\include" /I "D:\SVN\GVT_V2\dev\xavier\Gose\src\ D:\SVN\GVT_V2\meshmagic\meshmagick\samples\include" /I "D:\SVN\GVT_V2\dev\xavier\Gose\src\ D:\SVN\GVT_V2\meshmagic\meshmagick\samples\include\include" /I "D:\SVN\GVT_V2\dev\xavier\Gose\src\vrmllib\include" /I "D:\Program Files\DotSceneInterface\include" /I "D:\Program Files\DotSceneInterface\include\dsi" /D "WIN32" /D "_WINDOWS" /D "NDEBUG" /D "TIXML_USE_STL" /D "GOSE_EXPORTS" /D "CMAKE_INTDIR=\"Release\"" /D "MESHMAGICK_EXPORTS" /D "_MBCS" /FD /EHsc /MD /Fo"gose.dir\Release\\" /Fd"D:/SVN/GVT_V2/dev/xavier/Gose/build/src/../Runtime/Release/gose.pdb" /W3 /c /TP   /Zm1000

..\..\src\TabPropertiesBase.cpp

..\..\src\TabProperties.cpp

..\..\src\TabNavBase.cpp

..\..\src\TabNav.cpp

..\..\src\stdafx.cpp

..\..\src\ProcessViewportBase.cpp

..\..\src\ProcessViewport.cpp

..\..\src\ProcessTransformBase.cpp

..\..\src\ProcessTransform.cpp

..\..\src\ProcessMeshAnimBase.cpp

..\..\src\ProcessMeshAnim.cpp

..\..\src\ProcessMaterialBase.cpp

..\..\src\ProcessMaterial.cpp

..\..\src\ProcessLightBase.cpp

..\..\src\ProcessLight.cpp

..\..\src\ProcessCameraBase.cpp

..\..\src\ProcessCamera.cpp

..\..\src\ProcessAnimBase.cpp

..\..\src\ProcessAnim.cpp

..\..\src\PopupViewport.cpp

..\..\src\PopupMenuService.cpp

..\..\src\OgreView.cpp

..\..\src\MEPlugins.cpp

..\..\src\MEApplication.cpp

..\..\src\MapEditorTreeView.cpp

..\..\src\IPopupMenuService.cpp

..\..\src\IPluginService.cpp

..\..\src\IPathGladeService.cpp

..\..\src\ImportMesh.cpp

..\..\src\ImportExportScene.cpp

..\..\src\GtkSceneEditor.cpp

..\..\src\GtkOgreWidget.cpp

..\..\src\AboutBase.cpp

..\..\src\About.cpp
]
Création de la ligne de commande "cl.exe @d:\SVN\GVT_V2\dev\xavier\Gose\build\src\gose.dir\Release\RSP0000164708736.rsp /errorReport:prompt"
Création de la ligne de commande "rc.exe /d "WIN32" /d "_WINDOWS" /d "NDEBUG" /d "TIXML_USE_STL" /d "GOSE_EXPORTS" /d "CMAKE_INTDIR=\"Release\"" /I "c:\OgreSDK\include" /I "D:\SVN\GVT_V2\dev\xavier\Gose\src\ c:\OgreSDK\samples\include" /I "D:\SVN\GVT_V2\dev\xavier\Gose\build\src" /I "D:\SVN\GVT_V2\dev\xavier\Gose\src\." /I "C:\GTKMM\include\libglademm-2.4" /I "C:\GTKMM\lib\libglademm-2.4\include" /I "C:\GTKMM\lib\gtkmm-2.4\include" /I "C:\GTKMM\include\gtkmm-2.4" /I "C:\GTKMM\lib\gdkmm-2.4\include" /I "C:\GTKMM\include\gdkmm-2.4" /I "C:\GTKMM\include\pangomm-1.4" /I "C:\GTKMM\include\atkmm-1.6" /I "C:\GTKMM\lib\libxml++-2.6\include" /I "C:\GTKMM\include\libxml++-2.6" /I "C:\GTKMM\lib\giomm-2.4\include" /I "C:\GTKMM\include\giomm-2.4" /I "C:\GTKMM\lib\glibmm-2.4\include" /I "C:\GTKMM\include\glibmm-2.4" /I "C:\GTKMM\include\cairomm-1.0" /I "C:\GTKMM\lib\sigc++-2.0\include" /I "C:\GTKMM\include\sigc++-2.0" /I "C:\GTKMM\include\libglade-2.0" /I "C:\GTKMM\lib\gtk-2.0\include" /I "C:\GTKMM\include\gtk-2.0" /I "C:\GTKMM\include\pango-1.0" /I "C:\GTKMM\include\atk-1.0" /I "C:\GTKMM\lib\glib-2.0\include" /I "C:\GTKMM\include\glib-2.0" /I "C:\GTKMM\include\libxml2" /I "C:\GTKMM\include\cairo" /I "C:\GTKMM\include" /I "D:\Program Files\OBT\include" /I "D:\SVN\GVT_V2\meshmagic\meshmagick\include" /I "D:\SVN\GVT_V2\dev\xavier\Gose\src\ D:\SVN\GVT_V2\meshmagic\meshmagick\samples\include" /I "D:\SVN\GVT_V2\dev\xavier\Gose\src\ D:\SVN\GVT_V2\meshmagic\meshmagick\samples\include\include" /I "D:\SVN\GVT_V2\dev\xavier\Gose\src\vrmllib\include" /I "D:\Program Files\DotSceneInterface\include" /I "D:\Program Files\DotSceneInterface\include\dsi" /fo"gose.dir\Release/gose.res" ..\..\src\gose.rc"
Création du fichier temporaire "d:\SVN\GVT_V2\dev\xavier\Gose\build\src\gose.dir\Release\RSP0000174708736.rsp" avec pour contenu
[
/OUT:"..\Runtime\Release\gose.exe" /VERSION:0.0 /INCREMENTAL:NO /LIBPATH:"C:\GTKMM\lib\Release" /LIBPATH:"C:\GTKMM\lib" /LIBPATH:"D:\Program Files\OBT\lib\Release" /LIBPATH:"D:\Program Files\OBT\lib" /LIBPATH:"D:\SVN\GVT_V2\meshmagic\meshmagick\lib\Release" /LIBPATH:"D:\SVN\GVT_V2\meshmagic\meshmagick\lib" /LIBPATH:"C:\OgreSDK\lib\Release" /LIBPATH:"C:\OgreSDK\lib" /LIBPATH:"D:\Program Files\DotSceneInterface\lib\Release" /LIBPATH:"D:\Program Files\DotSceneInterface\lib" /LIBPATH:".\Release" /LIBPATH:"." /MANIFEST /MANIFESTFILE:"gose.dir\Release\gose.exe.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /PDB:"../Runtime/Release\gose.pdb" /SUBSYSTEM:CONSOLE /OPT:NOREF /DYNAMICBASE /NXCOMPAT  /STACK:10000000 /machine:I386 /OPT:NOREF /IMPLIB:..\Runtime\Release\gose.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib OgreMain.lib OgreGUIRenderer.lib OBT_vc90.lib MESHMAGICK.lib glademm-vc90-2_4.lib xml++-vc90-2_6.lib gtkmm-vc90-2_4.lib glade-2.0.lib gdkmm-vc90-2_4.lib atkmm-vc90-1_6.lib pangomm-vc90-1_4.lib giomm-vc90-2_4.lib glibmm-vc90-2_4.lib cairomm-vc90-1_0.lib sigc-vc90-2_0.lib gtk-win32-2.0.lib libxml2.lib gdk-win32-2.0.lib atk-1.0.lib gdk_pixbuf-2.0.lib pangowin32-1.0.lib pangocairo-1.0.lib pango-1.0.lib cairo.lib gio-2.0.lib gobject-2.0.lib gmodule-2.0.lib glib-2.0.lib intl.lib iconv.lib DotSceneInterface_vc90.lib

".\gose.dir\Release\gose.res"

".\gose.dir\Release\About.obj"

".\gose.dir\Release\AboutBase.obj"

".\gose.dir\Release\GtkOgreWidget.obj"

".\gose.dir\Release\GtkSceneEditor.obj"

".\gose.dir\Release\ImportExportScene.obj"

".\gose.dir\Release\ImportMesh.obj"

".\gose.dir\Release\IPathGladeService.obj"

".\gose.dir\Release\IPluginService.obj"

".\gose.dir\Release\IPopupMenuService.obj"

".\gose.dir\Release\MapEditorTreeView.obj"

".\gose.dir\Release\MEApplication.obj"

".\gose.dir\Release\MEPlugins.obj"

".\gose.dir\Release\OgreView.obj"

".\gose.dir\Release\PopupMenuService.obj"

".\gose.dir\Release\PopupViewport.obj"

".\gose.dir\Release\ProcessAnim.obj"

".\gose.dir\Release\ProcessAnimBase.obj"

".\gose.dir\Release\ProcessCamera.obj"

".\gose.dir\Release\ProcessCameraBase.obj"

".\gose.dir\Release\ProcessLight.obj"

".\gose.dir\Release\ProcessLightBase.obj"

".\gose.dir\Release\ProcessMaterial.obj"

".\gose.dir\Release\ProcessMaterialBase.obj"

".\gose.dir\Release\ProcessMeshAnim.obj"

".\gose.dir\Release\ProcessMeshAnimBase.obj"

".\gose.dir\Release\ProcessTransform.obj"

".\gose.dir\Release\ProcessTransformBase.obj"

".\gose.dir\Release\ProcessViewport.obj"

".\gose.dir\Release\ProcessViewportBase.obj"

".\gose.dir\Release\stdafx.obj"

".\gose.dir\Release\TabNav.obj"

".\gose.dir\Release\TabNavBase.obj"

".\gose.dir\Release\TabProperties.obj"

".\gose.dir\Release\TabPropertiesBase.obj"
]
Création de la ligne de commande "link.exe @d:\SVN\GVT_V2\dev\xavier\Gose\build\src\gose.dir\Release\RSP0000174708736.rsp /NOLOGO /ERRORREPORT:PROMPT"

And i don't have a $MESHMAGICK/lib/debug folder (i'm using your vcproj to compile).
And /MDd is allready set.

Thanks

And here is how i initialized meshmagick :

Code: Select all

void MapEditorTreeView::initMeshmagick()
{
  
  meshmagick::InfoToolFactory* infoFac = new meshmagick::InfoToolFactory();
  _infotool = dynamic_cast<meshmagick::InfoTool*>(infoFac->createTool());
  assert( _infotool);
  
  meshmagick::TransformToolFactory* transFac = new meshmagick::TransformToolFactory();
  _transtool = dynamic_cast<meshmagick::TransformTool*>(transFac->createTool());
  assert( _transtool);

  meshmagick::MeshMergeToolFactory* mergeFac = new meshmagick::MeshMergeToolFactory();
  _mergetool = dynamic_cast<meshmagick::MeshMergeTool*>(mergeFac->createTool());
  assert( _mergetool);

  Ogre::LogManager* logManager = new Ogre::LogManager();
  Ogre::Log* log= logManager->createLog("meshmagick.log", true, false, true);

   meshmagick::OgreEnvironment* ogreEnv = new meshmagick::OgreEnvironment();
	ogreEnv->initialize(false,log);


}
User avatar
xabila
Goblin
Posts: 225
Joined: Mon Jun 05, 2006 9:40 am
Location: rennes [FR]

Re: [New Tool] Ogre MeshMagick - First official release

Post by xabila »

So i restart from scratch and i generate the vcproj with the last version of cmake.
And i've got the same link problem with meshmagick_bin.

Could you try to regenerate with cmake to see if you got the same problem please
Thanks.
User avatar
haffax
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 4823
Joined: Fri Jun 18, 2004 1:40 pm
Location: Berlin, Germany
x 7
Contact:

Re: [New Tool] Ogre MeshMagick - First official release

Post by haffax »

I started a small testbed application in order to see what problems have to be solved in order to make meshmagick more friendly toward library use and also to test your linking problems, xabila.

Actually the reason for your problems is pretty simple: You use classes which aren't exported to the lib/dll and thus not available yet.
I am working on it, but if you need results fast, just add _MeshMagickExport to the class definitions of classes you want to use.

E.g:

Code: Select all

class _MeshMagickExport InfoTool : public Tool
{
..
};
Then recompile meshmagick. Then recompile your app.

I haven't tested cmake windows results yet, the Visual Studio project files are hand made, and not generated.
team-pantheon programmer
creators of Rastullahs Lockenpracht
User avatar
xabila
Goblin
Posts: 225
Joined: Mon Jun 05, 2006 9:40 am
Location: rennes [FR]

Re: [New Tool] Ogre MeshMagick - First official release

Post by xabila »

Ok i had to add the _MeshMagickExport... eveywhere

Only one error left :

Code: Select all

Édition des liens en cours...
   Création de la bibliothèque ..\Runtime\Release\gose.lib et de l'objet ..\Runtime\Release\gose.exp
MapEditorTreeView.obj : error LNK2019: symbole externe non résolu "protected: static class meshmagick::OgreEnvironment * Ogre::Singleton<class meshmagick::OgreEnvironment>::ms_Singleton" (?ms_Singleton@?$Singleton@VOgreEnvironment@meshmagick@@@Ogre@@1PAVOgreEnvironment@meshmagick@@A) référencé dans la fonction "public: __thiscall Ogre::Singleton<class meshmagick::OgreEnvironment>::Singleton<class meshmagick::OgreEnvironment>(void)" (??0?$Singleton@VOgreEnvironment@meshmagick@@@Ogre@@QAE@XZ)
..\Runtime\Release\gose.exe : fatal error LNK1120: 1 externes non résolus
User avatar
haffax
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 4823
Joined: Fri Jun 18, 2004 1:40 pm
Location: Berlin, Germany
x 7
Contact:

Re: [New Tool] Ogre MeshMagick - First official release

Post by haffax »

I don't get this one and don't know why you do, we already link to meshmagick in Rastullahs Lockenpracht and also create OgreEnvironment and it works fine.

Maybe my next commit will help you. I have rebuilt the API for lib usage. There now is a facade which hides all the internal stuff, you get a tool from it and work with it and don't have to do anything else.
Right now I am making the individual tools more lib friendly. When done, I commit.
team-pantheon programmer
creators of Rastullahs Lockenpracht
User avatar
xabila
Goblin
Posts: 225
Joined: Mon Jun 05, 2006 9:40 am
Location: rennes [FR]

Re: [New Tool] Ogre MeshMagick - First official release

Post by xabila »

hum, i'm gonna check.


Did you had my diff (in the way you want of course) ?
User avatar
xabila
Goblin
Posts: 225
Joined: Mon Jun 05, 2006 9:40 am
Location: rennes [FR]

Re: [New Tool] Ogre MeshMagick - First official release

Post by xabila »

I had this on the OgreEnvironment.h , it's not far ...

Code: Select all

template class _MeshMagickExport Ogre::Singleton < meshmagick::OgreEnvironment > ;
But i still get the error GRR
Post Reply