Compile problems - windows 7, Visual Studio 2013, Maya 2016

190 views
Skip to first unread message

Sumit Das

unread,
Feb 28, 2017, 1:09:14 AM2/28/17
to partio-discuss
Hi, I tried posting this once before but it seemed to vanish so I'm trying again...

I'm having lots of trouble compiling partio for windows 7, Visual Studio 2013, and Maya 2016.
I think I've solved most of the problems with includes, paths, libraries, etc.
I'm a Visual Studio and Windows novice, so bear with me.

Any help is much appreciated!

I seem to have two problems.

1) The partio project creates the partio.lib, and the other projects link to that.  But where does the 
maya plugin (partio.mll) come from?  I can't find anything in any of the projects that will create that.
Do I have to make another configuration in the partio project?  What settings are needed in that config?

2) There are 20 projects in the solution, and after lots of define/include/path changes, all but
partioSe are building.  Here are the link errors I'm getting:

------ Build started: Project: partioSe, Configuration: Release x64 ------
1>PartioSe.obj : error LNK2019: unresolved external symbol "public: __cdecl SeExpression::SeExpression(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,bool)" (??0SeExpression@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@_N@Z) referenced in function "public: __cdecl Partio::PartioSe::PartioSe(class Partio::ParticlesDataMutable *,class Partio::ParticlesDataMutable *,char const *)" (??0PartioSe@Partio@@QEAA@PEAVParticlesDataMutable@1@0PEBD@Z)
1>PartioSe.obj : error LNK2019: unresolved external symbol "public: virtual __cdecl SeExpression::~SeExpression(void)" (??1SeExpression@@UEAA@XZ) referenced in function "int `public: __cdecl Partio::PartioSe::PartioSe(class PartioSe::ParticlesDataMutable *,class PartioSe::ParticlesDataMutable *,char const *)'::`1'::dtor$1" (?dtor$1@?0???0PartioSe@Partio@@QEAA@PEAVParticlesDataMutable@1@0PEBD@Z@4HA)
1>PartioSe.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl SeExpression::setExpr(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?setExpr@SeExpression@@UEAAXAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)
1>PartioSe.obj : error LNK2019: unresolved external symbol "public: bool __cdecl SeExpression::isValid(void)const " (?isValid@SeExpression@@QEBA_NXZ) referenced in function "public: __cdecl Partio::PartioSe::PartioSe(class Partio::ParticlesDataMutable *,class Partio::ParticlesDataMutable *,char const *)" (??0PartioSe@Partio@@QEAA@PEAVParticlesDataMutable@1@0PEBD@Z)
1>PartioSe.obj : error LNK2019: unresolved external symbol "public: class SeVec3d __cdecl SeExpression::evaluate(void)const " (?evaluate@SeExpression@@QEBA?AVSeVec3d@@XZ) referenced in function "public: void __cdecl Partio::PartioSe::run(int)" (?run@PartioSe@Partio@@QEAAXH@Z)
1>Z:\depot\tools\VisualStudio\partio\src\lib\Release\partioSe.dll : fatal error LNK1120: 5 unresolved externals
========== Build: 0 succeeded, 1 failed, 2 up-to-date, 0 skipped ==========

I could not get SeExpr to build properly, so I downloaded a pre-built one, could that be the problem?

John Cassella

unread,
Mar 1, 2017, 12:08:02 AM3/1/17
to partio-...@googlegroups.com
Hi,  The partio  Maya  plugin  is  not merged into the  main branch of  Partio from  Disney,   It only lives in my   redpawfx  fork.  https://github.com/redpawfx/partio/tree/redpawfx

this repo has all my   Maya / arnold / file format /  houdini  upgrades,  I haven't had a lot of time lately to merge things in,   but things are actively  being worked on  at my work, and  hopefully soon things will be  trued up between all the forks and branches again.    Not sure if  Disney will ever merge my  version into theirs at this point, but feel free to fork from my repo and work from there. 

Hope this helps..

-johnc


--
You received this message because you are subscribed to the Google Groups "partio-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to partio-discuss+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Sumit Das

unread,
Mar 2, 2017, 9:09:56 PM3/2/17
to partio-discuss
Ah, that helps.  I'll check out the repo.
Thanks John!
To unsubscribe from this group and stop receiving emails from it, send an email to partio-discus...@googlegroups.com.

Sumit Das

unread,
Mar 10, 2017, 5:35:41 PM3/10/17
to partio-discuss
Hey John,

I finally got around to getting your code.  First let me thank you for making it 100 times easier to build on windows than the Disney repo.  There's the usual need to define M_PI and to include <algorithm> but that was about it.  Nice,  And the plugin built nicely. But...

When I try to load the plugin, I get this error:
# Error: Unable to dynamically load : Z:/depot/tools/VisualStudio/partio/outputs/lib/windows_x86_64/Release/partio4Maya.mll
The specified module could not be found.
 # 
# Error: pymel : Failed to get controlCommand list from partio4Maya # 
# Error: pymel : Failed to get modelEditorCommand list from partio4Maya # 
# Error: pymel : Failed to get command list from partio4Maya # 
# Error: pymel : Failed to get constraintCommand list from partio4Maya # 
# Error: pymel.core : Failed to get depend nodes list from partio4Maya # 
# Error: The specified module could not be found.
 (partio4Maya) # 

I've seen this before when I needed a redistributable visual c++ installation, but I have installed it for both 2015 and 2013 and it still gives the same error.
Maybe there's other dll's I'm missing?  How would I tell which ones?
If it makes a difference, I'm running windows 7, Visual Studio 2013, and Maya 2016.

Any ideas?

Thanks!


On Tuesday, February 28, 2017 at 9:08:02 PM UTC-8, redpawFX wrote:
To unsubscribe from this group and stop receiving emails from it, send an email to partio-discus...@googlegroups.com.

Sumit Das

unread,
Mar 10, 2017, 7:06:24 PM3/10/17
to partio-discuss
Ah, it was the zlib.dll .
How do I add a path to the search paths for dll's?  I want to put it on the network and have all the users' mayas pick it up, instead of copying zlib to each machine.

Sumit Das

unread,
Mar 13, 2017, 3:57:08 PM3/13/17
to partio-discuss
All right, never mind, I panicked.  Maya plugins find dll's from the PATH variable.
I think I have it all working now, thanks again johnc!

John Cassella

unread,
Mar 17, 2017, 8:23:28 PM3/17/17
to partio-...@googlegroups.com
Haha, cool. yeah the zlib thing is  always a bit finicky.  on windows I think I always just distrubuted the zlib  into the same dir  as the plugin and it was able to find it there too..  but its been a couple years since I've done windows compiles now.  glad you got it working though!  

-johnc


To unsubscribe from this group and stop receiving emails from it, send an email to partio-discuss+unsubscribe@googlegroups.com.

sig...@gmail.com

unread,
May 26, 2017, 1:42:28 AM5/26/17
to partio-discuss
Hi, when I tried to include the <partio.h> in my visual studio 2015 c++(win 10 x64) project, it showed the same link error with you. I have tied for so many times, it all didn't work.
I'm a fresher, so bear with me, too.

Here is my work, could you tell me where is wrong? Thank you so much!

Step1: put the src int the dir :D:\partio\partio-master\src

src/
   lib/      
   lib/core 
   lib/io    
   py/      
   doc/     
   tests/  
   tools/   

Step2: buid an c++ console project in  visual studio 2015 with update3, where there is only a main.cpp in the source folder.

here is the cpp code (given by the author)

#include <Partio.h>
#include <iostream>
#ifdef PARTIO_WIN32
#define M_PI (3.14159265359893238)
#endif

#include <cmath>

using namespace Partio;

int main(int argc,char *argv[])
{
    ParticlesDataMutable* p=create();
    ParticleAttribute positionAttr=p->addAttribute("position",VECTOR,3);
    ParticleAttribute normalAttr=p->addAttribute("normal",VECTOR,3);
    int n=30;
    for(int i=0;i<n;i++){
        int particle=p->addParticle();
        float* pos=p->dataWrite<float>(positionAttr,particle);
        float* norm=p->dataWrite<float>(normalAttr,particle);
        float theta=i*2*M_PI/(float)n;
        pos[2]=cos(theta);
        pos[0]=sin(theta);
        pos[1]=0;
        norm[0]=cos(theta);
        norm[2]=-sin(theta);
        norm[1]=0;
        
    }
    write("circle.00001.bgeo",*p);
    write("circle.00001.geo",*p);
    write("circle.00001.bin",*p);
    write("circle.00001.pdc",*p);
    write("circle.00001.pdb",*p);
    write("circle.00001.pda",*p);
    write("circle.00001.ptc",*p);
    write("circle.00001.rib",*p);
    write("circle.00001.mc",*p);

   
    p->release();
    return 0;
}

step3: set the vc++ dir: project>>property>>vc++ dir>> include path set to D:\partio\partio-master\src\lib

src/
   lib/      
   lib/core 
   lib/io  

step4: after run, it show the link error like you… could you tell me how to link the files in the src folder

There is some file seems related to the Cmake, like "CMakeLists.txt" and so on. I don't know if it have to be compiled by the Cmake, so I tried.

my Cmake version is v3.8.1

I set the source code dir: C:/../Desktop/partio-master

the dir to build the binaries is : C:/../Desktop/partio-master/build

the generator is visual studio 14 2014 win64

but it always be wrong, I dont know why ,could you help me ?

CMake Error at D:/Program Files/CMake/share/cmake-3.8/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
Could NOT find GLUT (missing: GLUT_glut_LIBRARY GLUT_INCLUDE_DIR)
Call Stack (most recent call first):
D:/Program Files/CMake/share/cmake-3.8/Modules/FindPackageHandleStandardArgs.cmake:377 (_FPHSA_FAILURE_MESSAGE)
D:/Program Files/CMake/share/cmake-3.8/Modules/FindGLUT.cmake:116 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
CMakeLists.txt:89 (find_package)


My English is not very good, hope you can excuse me for my poor English.






Reply all
Reply to author
Forward
0 new messages