Jump to content

  • Log In with Google      Sign In   
  • Create Account

Assimp with Visual Studio Express 2013 and CMake

  • You cannot reply to this topic
5 replies to this topic

#1 CodeReaver   Members   -  Reputation: 131


Posted 07 May 2014 - 12:56 PM



I'm trying to compile assimp for use in Visual Studio Express 2013 on Windows 8 and I'm having trouble getting CMake to build the project.


I attempted to follow this video , however because of updates to CMake (which I've never used before) on assimp itself, I'm unable to create the make file.  I downloaded the source only file from here http://sourceforge.net/projects/assimp/files/assimp-3.0/ and since the generator in CMake complained I hadn't set any compilers and didn't give me anywhere to set them and the only compliers I know are on my machine are in VS Express, I chose the generator for that instead.  I then got a few errors about DirectX 9, which dissapeared once I disabled BUILD_ASSIMP_TOOLS and errors about boost being missing which dissapeared once I downloaded that or enabled the workaround option.  After generating the files, the make file wasn't included, so I was unable to start the project.


After that, I just tried to upgrade the VC9 solution that was included with the source code, and that didn't work because it always wanted to build the tools version and had undefined variables anyway.


I finally considered downloading assimp-sdk-3.0-setup.exe and using either the dll or the libraries, but I'm not used to setting those up other than for DirectX, which I can't remember if it just hooks everything up itself when installed or what to do otherwise.


I ultimately don't mind how I get it working as long as I can incorporate the model loading functionality into the project I've set up.  Has anyone gotten this working with Visual Studio Express 2013 on Windows 8 who can let me know a simple way of doing so?


Sorry if I'm not supposed to embed  the youtube video.  I didn't know how to prevent it.


#2 JordanBonser   Members   -  Reputation: 369


Posted 09 May 2014 - 06:35 AM

The only thing I could suggest for this is to download a previous version of Visual Studio that the assimp solution will properly work for and then compile the libraries in that. i.e. I think 2010 and 2012 will work. 


Not a solution but is a potential work around :) 

#3 Kimmi   Members   -  Reputation: 539


Posted 18 July 2014 - 07:19 AM

Have you tried to start the cmake run in a visual studio console?



A complicate solution may indicate a not understood problem.


#4 EarthBanana   Members   -  Reputation: 849


Posted 18 July 2014 - 11:08 AM

Why are you building it yourself? It comes with the necessary lib files for x64 and x86 - you simply need to add the libraries to your project..


Also you will have to add the assimp32 or assimp64 dll file (located in the bin/x86 or bin/x64 folders respectively) to the same folder where visual studio puts your build exe file


To include the libraries just uncompress the sdk to some folder like c:\Assimp

Then add the include path for assimp to the include path for VS2013

To do this right click on your project in solution explorer, go to properties and under Configuration Properties go to VC++ Directories


Under "Include Directories" add the c:\Assimp\Include (or wherever yours is at) folder

Now under "Library Directories" add "c:\Assimpl\lib\x86" assuming you want to use the 32 bit version

Now click on "Linker" in the left pane and add "assimp.lib" to the Additional Dependencies section


Finally go to your Assimp\bin\x86 folder and grab the Assimp32.dll and put it wherever the program your writing's exe is at


I am not using the brand new assimp library - but a recent version (from a few months ago) so the procedure should be the same


To use assimp just #include <assimp/whatever assimp file you need>


Hope that helps - if you already know all this then sorry!

Edited by EarthBanana, 18 July 2014 - 11:19 AM.

#5 Mnemotic   Members   -  Reputation: 332


Posted 19 July 2014 - 08:04 AM

Why are you building it yourself? It comes with the necessary lib files for x64 and x86 - you simply need to add the libraries to your project.
Generally, you shouldn't mix runtimes. That is, it is not safe to use a library that has been linked with a MSVCRT (MS Visual C Runtime) version other then the one you're linking with yourself. And each release of VS has its own version of runtime.


If a library doesn't provide a binary version linked with your runtime, you have no choice but to build the library yourself.

#6 JMab   Members   -  Reputation: 162


Posted 21 July 2014 - 08:55 PM

I've built Assimp 3.1.1 (the latest) on Windows 8 using Visual Studio 2013 Desktop Express.


I'm no CMake expert, but I just downloaded the latest version of that and pointed it at hthe root of the Assimp 3.1.1 source directory and it managed to generate solution and project files for VS 2013 Desktop Express.


I briefly confused myself by pointing CMake at the \Code subdirectory, but once corrected, it all worked fine.


I already had the last DirectX release (June 2010) installed on my machine, so perhaps that helped it go smoothly.


Only bit of advice I can give from a CMake newbie is to completely clear its cache if you stuff something up, as incorrect settings will hang around otherwise. I think I may have even paranoidly uninstalled it and reinstalled it, after realising I was pointing at the wrong Assimp directory.


This post has reminded me how fun it is to say and type Assimp. So, thank you.