Building

Having trouble installing or compiling FreeCAD? Get help here.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
User avatar
sgrogan
Veteran
Posts: 6499
Joined: Wed Oct 22, 2014 5:02 pm

Re: Building

Post by sgrogan »

wdtj wrote:So is it possible that I'm missing a lib (or link reference to it) for oce in the libpack?
I just downloaded https://github.com/sgrogan/FreeCAD/rele ... 64_VC12.7z
And did both a clean release and debug build, and I cannot reproduce your errors? (Note I do get errors do to the nglib because I did not disable it in CMake)
Please check that you are specifying "Visual Studio 12 VS2013 Win64" as the generator in CMake Gui (File > Delete Cache then Configure). And Release x64 in the VS2013 IDE.
"fight the good fight"
wdtj
Posts: 8
Joined: Fri Aug 05, 2016 12:57 am

Re: Building

Post by wdtj »

OK, so possibly I've screwed up a step here. Clean everything out and start over. I'm going by the instructions on https://www.freecadweb.org/wiki/Compile ... ith_VS2013. My goal is to make the trunk version of Freecad.

1) I downloaded the libpack. Instructions say to use http://sourceforge.net/projects/free-ca ... 20LibPack/, but based on the forum I downloaded and unzipped https://github.com/sgrogan/FreeCAD/rele ... 64_VC12.7z

2) I already have VS2012 Pro Update 5, git and 7-zip already installed.

3) Checkout the code from git clone git://git.code.sf.net/p/free-cad/code free-cad-code. Got coffee. 6086 files.

4) Ran cmake GUI. Selected source as D:/Users/waynej/Dev/free-cad-code, if picked D:/Users/waynej/Dev/FreeCAD for the binaries. Click Configure. Selected Visual Studio 12 x64 (this is where I went wrong the first time.) Error in configuration (expected). Set FREECAD_LIBPACK_DIR to D:/Users/waynej/Dev/FreeCADLibs_11.5.2_x64_VC12 (where I had extracted the libpack). FREECAD_USE_EXTERNAL_PIVY and FREECAD_USE_FREETYPE were already checked. Disabled BUILD_FEM, BUILD_FEM_NETGEN, and BUILD_MESH_PART per DeepSOIC instructions. Configuring done. Generating done. No errors. Close Cmake.

5) Copy D:\Users\waynej\Dev\FreeCADLibs_11.5.2_x64_VC12\bin to D:\Users\waynej\Dev\FreeCAD. Missed this part on the first pass as well.

6) Open D:\Users\waynej\Dev\FreeCAD\FreeCAD_trunk.sln with VS2012. Hit f7 to start (same as Build -> Build Solution)

========== Build: 45 succeeded, 24 failed, 0 up-to-date, 4 skipped ==========
1529 Errors.

Some of the errors:

Code: Select all

Error	2	error C2371: 'TopTools_ListOfShape' : redefinition; different basic types	d:\users\waynej\dev\free-cad-code\src\3rdparty\salomesmesh\inc\SMESH_Mesh.hxx	50
Error	11	error C2079: 'BRepBuilderAPI_MakeShape::myGenerated' uses undefined class 'TopTools_ListOfShape'	D:\Users\waynej\Dev\FreeCADLibs_11.5.2_x64_VC12\include\oce\BRepBuilderAPI_MakeShape.hxx	73
Error	12	error C2664: 'NCollection_TListIterator<TheItemType>::NCollection_TListIterator(const NCollection_TListIterator<TheItemType> &)' : cannot convert argument 1 from 'const TopTools_ListOfShape' to 'const NCollection_BaseList &'	D:\Users\waynej\Dev\free-cad-code\src\3rdParty\salomesmesh\src\SMESH\SMESH_Mesh.cpp	704
Error	14	error C2440: 'return' : cannot convert from 'const TopTools_ListOfShape' to 'const TopTools_ListOfShape &'	D:\Users\waynej\Dev\free-cad-code\src\3rdParty\salomesmesh\src\SMESH\SMESH_Mesh.cpp	1385
Error	15	error C2079: 'emptyList' uses undefined class 'TopTools_ListOfShape'	D:\Users\waynej\Dev\free-cad-code\src\3rdParty\salomesmesh\src\SMESH\SMESH_Mesh.cpp	1387
Error	16	error C2371: 'TopTools_ListOfShape' : redefinition; different basic types	d:\users\waynej\dev\free-cad-code\src\3rdparty\salomesmesh\inc\SMESH_Mesh.hxx	50
Error	17	error C2664: 'NCollection_TListIterator<TheItemType>::NCollection_TListIterator(const NCollection_TListIterator<TheItemType> &)' : cannot convert argument 1 from 'const TopTools_ListOfShape' to 'const NCollection_BaseList &'	D:\Users\waynej\Dev\free-cad-code\src\3rdParty\salomesmesh\src\SMESH\SMESH_MeshEditor.cpp	361
Error	18	error C2371: 'Handle_Standard_Transient' : redefinition; different basic types	D:\Users\waynej\Dev\FreeCADLibs_11.5.2_x64_VC12\include\oce\Standard_Transient_proto.hxx	22
Error	19	error C2371: 'Handle_Standard_Type' : redefinition; different basic types	D:\Users\waynej\Dev\FreeCADLibs_11.5.2_x64_VC12\include\oce\Standard_Transient_proto.hxx	24
Error	20	error C2011: 'Standard_Transient' : 'class' type redefinition	D:\Users\waynej\Dev\FreeCADLibs_11.5.2_x64_VC12\include\oce\Standard_Transient_proto.hxx	30
Error	21	error C2027: use of undefined type 'Standard_Transient'	D:\Users\waynej\Dev\FreeCADLibs_11.5.2_x64_VC12\include\oce\Standard_Transient_proto.hxx	84
I won't bore you with any more, if you want the full list, send me a note off-forum and I'll get it to you.
User avatar
sgrogan
Veteran
Posts: 6499
Joined: Wed Oct 22, 2014 5:02 pm

Re: Building

Post by sgrogan »

wdtj wrote: 2) I already have VS2012 Pro Update 5, git and 7-zip already installed.
Hopefully you mean VS2013
wdtj wrote:3) Checkout the code from git clone git://git.code.sf.net/p/free-cad/code free-cad-code.
This has changed. FreeCAD is now on GitHub https://github.com/FreeCAD/FreeCAD
This is probably the problem, this code is old.
See also here: viewtopic.php?f=4&t=20602#p159717
If you could comment there if this helps or not? I will try to update the wiki based on feedback.
"fight the good fight"
Post Reply