It is currently Sat Aug 22, 2020 4:29 am


All times are UTC




Post new topic Reply to topic  [ 8 posts ] 
Author Message
 Post subject: [SOLVED] Windows - VS C++ 2010 - .NET 4.0 Requirement
PostPosted: Sun Apr 14, 2013 2:11 am 
User avatar

Joined: Sun Apr 14, 2013 12:47 am
Posts: 30
Location: Northern Tablelands, NSW, Australia
Hi all,

Having created the necessary solution and project files using CMake, I tried to open the solution in VC++ 2010, but it told me the projects target .NET 4.0 and I needed to download it.

The instructions at http://www.volumesoffun.com/polyvox/documentation/0.2.1/manual/install.html didn't mention .NET at all, so either the instructions are wrong and need correcting or I'm doing something wrong. I'd like to know which it is.

I'll download .NET 4.0 tonight and see if it can open and compile.

Clonkex


Last edited by Clonkex on Tue Apr 16, 2013 5:42 am, edited 1 time in total.

Top
Offline Profile  
Reply with quote  
 Post subject: Re: Windows - VS C++ 2010 - .NET 4.0 Requirement
PostPosted: Sun Apr 14, 2013 6:41 am 
Developer
User avatar

Joined: Sun May 04, 2008 6:35 pm
Posts: 1827
That's very strange as PolyVox does not require .NET at all. However, I think there are some .NET bindings so it's possible you have chosen to build those and that it needs .NET for that. On the CMake configuration screen there should have been an 'ENABLE_BINDINGS' option so you can try disabling that?


Top
Offline Profile  
Reply with quote  
 Post subject: Re: Windows - VS C++ 2010 - .NET 4.0 Requirement
PostPosted: Sun Apr 14, 2013 11:32 pm 
User avatar

Joined: Sun Apr 14, 2013 12:47 am
Posts: 30
Location: Northern Tablelands, NSW, Australia
Wow, a reply from the developers themselves! Awesome!

I don't have Qt, Sphinx or SWIG installed on my PC (they ARE only used for the examples and the bindings, are they not?) so CMake said Build examples, Build tests and Build bindings were OFF. Even so I tried just now turning off examples, tests and bindings and VC++ still told me the projects were targeting .NET 4.0.

Here, look at CMake's log. It provides some weird information, particularly where it says that it found Doxygen (which I have installed) and says that API docs building is enabled, but in the summary says Build manual is OFF. I don't get it.

Quote:
The C compiler identification is MSVC 16.0.40219.1
The CXX compiler identification is MSVC 16.0.40219.1
Check for working C compiler using: Visual Studio 10
Check for working C compiler using: Visual Studio 10 -- works
Detecting C compiler ABI info
Detecting C compiler ABI info - done
Check for working CXX compiler using: Visual Studio 10
Check for working CXX compiler using: Visual Studio 10 -- works
Detecting CXX compiler ABI info
Detecting CXX compiler ABI info - done
Found Doxygen: C:/Program Files (x86)/doxygen/bin/doxygen.exe (found version "1.7.5.1")
Could NOT find Qt4 (missing: QT_QMAKE_EXECUTABLE QT_MOC_EXECUTABLE QT_RCC_EXECUTABLE QT_INCLUDE_DIR QT_LIBRARY_DIR QT_QTCORE_INCLUDE_DIR QT_QTCORE_LIBRARY QT_QTGUI_INCLUDE_DIR QT_QTGUI_LIBRARY QT_QTOPENGL_INCLUDE_DIR QT_QTOPENGL_LIBRARY QT_QTTEST_INCLUDE_DIR QT_QTTEST_LIBRARY QT_UIC_EXECUTABLE)
Qt QTOPENGL library not found.
Qt QTGUI library not found.
Qt QTTEST library not found.
Qt QTCORE library not found.
Could NOT find SWIG (missing: SWIG_EXECUTABLE SWIG_DIR)
Found PythonLibs: C:/Python/Python32/libs/python32.lib (found version "3.2.2")
`sphinx-build` was not found. Try setting SPHINXBUILD_EXECUTABLE to its location.
`qhelpgenerator` was not found. Try setting QT_QCOLLECTIONGENERATOR_EXECUTABLE to its location.

-- The following features have been enabled:

* API docs , HTML documentation of the API

-- The following OPTIONAL packages have been found:

* Doxygen , API documentation generator , <http://www.doxygen.org>
Building the API documentation
* PythonLibs , Programming language , <http://www.python.org>

-- The following features have been disabled:

* Examples , Examples of PolyVox usage
* Tests , Unit tests
* Bindings , SWIG bindings
* Qt Help , API docs in Qt Help format
* Manual , HTML user's manual

-- The following OPTIONAL packages have not been found:

* SWIG , Bindings generator , <http://www.swig.org>

-- The following RECOMMENDED packages have not been found:

* Qt4 , C++ framework , <http://qt-project.org>
Building the examples
Building the tests


Summary
-------
Library type: STATIC
Build examples: OFF
Build tests: OFF
Build bindings: OFF
API Docs available: YES
- Qt Help bundling: OFF
Build manual: OFF

Configuring done


Plus, I have LIBRARY_TYPE set to dynamic, yet in the summary it says STATIC. What does all this mean?

I opened the generated VC++ 2010 project files in Notepad to see if I could find any reference to .NET 4.0. The ALL_BUILD project contains this line:

<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

I don't know if that means anything, but I see the word "target" and a "4.0" in there.

The Summary in the CMake log never changes no matter what settings I change in the CMake gui, even after clicking Configure again.

I just tried modifying that line with "4.0" in it and changing the 4.0 to a 2.0 and now VC++ no longer complains of needing .NET 4.0 for the ALL_BUILDS project, but fails to load, saying this:

C:\Program Files (x86)\PolyVox\volumesoffun-polyvox-95f0aa22c12d\build\ALL_BUILD.vcxproj : error : The imported project "C:\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk. C:\Program Files (x86)\PolyVox\volumesoffun-polyvox-95f0aa22c12d\build\ALL_BUILD.vcxproj

Oh, I forgot to say: I'm using the latest version directly from BitBucket. Actually I forgot I was using it altogether. I'll try using 0.2.1....nope, does exactly the same thing. Exactly the same.

It's all very annoying. Nothings seems to do what I expect it to do. I'll try to download .NET 4.0 tonight just in case, but I may not be able to and if PolyVox isn't meant to require it I'd like to figure out what's wrong.

Clonkex


Top
Offline Profile  
Reply with quote  
 Post subject: Re: Windows - VS C++ 2010 - .NET 4.0 Requirement
PostPosted: Mon Apr 15, 2013 4:31 am 
User avatar

Joined: Sun Apr 14, 2013 12:47 am
Posts: 30
Location: Northern Tablelands, NSW, Australia
Ok, I downloaded the Boost libraries and unzipped them and CMake found them immediately (Cmake's library detection is amazing). I can now generate solution and project files for VS C++ 2008 (which I greatly prefer to 2010) without CMake throwing errors about Boost. I can successfully open the solution file (albeit with some warnings about not being able to open the CMakePredefinedTargets, Documentation and Library projects) and it even says it successfully compiles. There's a .lib file at

C:\Program Files (x86)\PolyVox\volumesoffun-polyvox-95f0aa22c12d\build\library\PolyVoxCore\Debug
and
C:\Program Files (x86)\PolyVox\volumesoffun-polyvox-95f0aa22c12d\build\library\PolyVoxUtil\Debug

so the real test will be to see if those libraries can actually be used for anything or if they just generate errors and stuff. I'll go try that now... fingers crossed.

Clonkex


Top
Offline Profile  
Reply with quote  
 Post subject: Re: Windows - VS C++ 2010 - .NET 4.0 Requirement
PostPosted: Mon Apr 15, 2013 8:38 am 
Developer
User avatar

Joined: Sun May 04, 2008 6:35 pm
Posts: 1827
Ok, well it seems that at least you have a work around for your problems.

Clonkex wrote:
I don't have Qt, Sphinx or SWIG installed on my PC (they ARE only used for the examples and the bindings, are they not?)


That is correct, the main PolyVox library does not require any of these.


Clonkex wrote:
It provides some weird information, particularly where it says that it found Doxygen (which I have installed) and says that API docs building is enabled, but in the summary says Build manual is OFF.


The API docs and the manual are two sepatare things. The API docs are the descriptions of each function/class as generated by Doxygen, where as the manual is the usage instuctions as generated by Sphinx (actually it's a bit more complex as the manual can link to the API docs). See here:

API Docs: http://www.volumesoffun.com/polyvox/doc ... tated.html

Manual: http://www.volumesoffun.com/polyvox/doc ... index.html


Clonkex wrote:
Plus, I have LIBRARY_TYPE set to dynamic, yet in the summary it says STATIC. What does all this mean?


Yeah, I think this is a known issue. On windows the library is forced to be static. For more information see here: https://bitbucket.org/volumesoffun/poly ... on-windows

Clonkex wrote:
I opened the generated VC++ 2010 project files in Notepad to see if I could find any reference to .NET 4.0. The ALL_BUILD project contains this line:

<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

I don't know if that means anything, but I see the word "target" and a "4.0" in there.


I just looked in my own PolyVoxCore.vcxproj and I see the same. To be honest I don't know if it is normal or exactly what the requirements imposed by CMake are. Perhaps you are using VS2010 Express while I am using Professional?

Clonkex wrote:
It's all very annoying. Nothings seems to do what I expect it to do. I'll try to download .NET 4.0 tonight just in case, but I may not be able to and if PolyVox isn't meant to require it I'd like to figure out what's wrong.


Maybe you are now happy with your VS2008 solution, but I'll just mention that you also have the option to just include the PolyVox headers and sources directly into your own project if you prefer. There'll be a bit of work to set up the include paths but it should work.


Top
Offline Profile  
Reply with quote  
 Post subject: Re: Windows - VS C++ 2010 - .NET 4.0 Requirement
PostPosted: Mon Apr 15, 2013 9:43 am 
User avatar

Joined: Sun Apr 14, 2013 12:47 am
Posts: 30
Location: Northern Tablelands, NSW, Australia
Quote:
The API docs and the manual are two sepatare things. The API docs are the descriptions of each function/class as generated by Doxygen, where as the manual is the usage instuctions as generated by Sphinx (actually it's a bit more complex as the manual can link to the API docs).


I have DoxyGen 1.7.5.1, so why is it not generating the API docs? I always prefer to use offline docs, particularly when I've used up my internet bandwidth so it's reeeeally slow.

Quote:
Yeah, I think this is a known issue. On windows the library is forced to be static.


Oh, well that's ok then, I prefer static linking. I just wondered if it was another symptom of something gone wrong with CMake. Apparently not ;)

Quote:
I just looked in my own PolyVoxCore.vcxproj and I see the same. To be honest I don't know if it is normal or exactly what the requirements imposed by CMake are. Perhaps you are using VS2010 Express while I am using Professional?


I am indeed using VS2010 Express (also VS2008 Express). I haven't the money for Professional and to be honest I see no real advantages. Even so there should be no reason that Express couldn't load it without needing .NET 4.0. I think it must be CMake's fault. I'm assuming you haven't noticed this problem so far because you must have .NET 4 already on your PC.

Quote:
Maybe you are now happy with your VS2008 solution, but I'll just mention that you also have the option to just include the PolyVox headers and sources directly into your own project if you prefer. There'll be a bit of work to set up the include paths but it should work.


Ah, I wondered about that, but since the static libraries seem to be working, I'll just stick with them :)

Thanks for your help :)

Clonkex


Top
Offline Profile  
Reply with quote  
 Post subject: Re: Windows - VS C++ 2010 - .NET 4.0 Requirement
PostPosted: Mon Apr 15, 2013 3:12 pm 
Developer
User avatar

Joined: Sun May 04, 2008 6:35 pm
Posts: 1827
Clonkex wrote:
I have DoxyGen 1.7.5.1, so why is it not generating the API docs? I always prefer to use offline docs, particularly when I've used up my internet bandwidth so it's reeeeally slow.


I don't think it's built automatically, but when you open the solution there should be a folder called 'Documentation' with a project called 'API Reference'. You have to build that.

Clonkex wrote:
I am indeed using VS2010 Express (also VS2008 Express). I haven't the money for Professional and to be honest I see no real advantages. Even so there should be no reason that Express couldn't load it without needing .NET 4.0. I think it must be CMake's fault. I'm assuming you haven't noticed this problem so far because you must have .NET 4 already on your PC.


I get Ultimate for free on the Microsoft DreamSpark program so that's all I've tested it on. I found old references to problems with CMake and VS2010 but it looks like a different issue: http://www.ogre3d.org/forums/viewtopic. ... 84#p394990

However, I'd think that quate a few people are using Express so you may find that installing .NET 4.0 fixes the issue.


Top
Offline Profile  
Reply with quote  
 Post subject: Re: Windows - VS C++ 2010 - .NET 4.0 Requirement
PostPosted: Tue Apr 16, 2013 5:39 am 
User avatar

Joined: Sun Apr 14, 2013 12:47 am
Posts: 30
Location: Northern Tablelands, NSW, Australia
Quote:
I don't think it's built automatically, but when you open the solution there should be a folder called 'Documentation' with a project called 'API Reference'. You have to build that.


It's not possible in the Express versions of VS. It tells me that solution folders are not available in this version. It doesn't matter, though, because I just manually built the docs using DoxyGen.

Quote:
However, I'd think that quate a few people are using Express so you may find that installing .NET 4.0 fixes the issue.


It all seems to be working fine with VS 2008 and Boost and I don't like VS 2010 so I'm happy :)

Clonkex


Top
Offline Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 8 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 3 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Theme created StylerBB.net