mingw build
Closed this issue · 5 comments
when trying to cross build JamomaCore on Ubuntu 15.04 with i686-w64-mingw32-g++-posix
(version 4.9.2) I got the following :
[ 0%] Building CXX object Foundation/library/CMakeFiles/Foundation.dir/source/TTFoundation.cpp.obj
[ 0%] Building CXX object Foundation/library/CMakeFiles/Foundation.dir/source/TTCallback.cpp.obj
[ 1%] Building CXX object Foundation/library/CMakeFiles/Foundation.dir/source/TTClass.cpp.obj
[ 1%] Building CXX object Foundation/library/CMakeFiles/Foundation.dir/source/TTEnvironment.cpp.obj
[ 1%] Building CXX object Foundation/library/CMakeFiles/Foundation.dir/source/TTMutex.cpp.obj
[ 1%] Building CXX object Foundation/library/CMakeFiles/Foundation.dir/source/TTQueue.cpp.obj
[ 2%] Building CXX object Foundation/library/CMakeFiles/Foundation.dir/source/TTThread.cpp.obj
[ 2%] Building CXX object Foundation/library/CMakeFiles/Foundation.dir/source/TTUnitTest.cpp.obj
[ 2%] Building CXX object Foundation/library/CMakeFiles/Foundation.dir/source/TTAttribute.cpp.obj
[ 2%] Building CXX object Foundation/library/CMakeFiles/Foundation.dir/source/TTDataObjectBase.cpp.obj
[ 2%] Building CXX object Foundation/library/CMakeFiles/Foundation.dir/source/TTExtensionLoader.cpp.obj
/home/antoine/lib-src/Jamoma/Implementations/PureData/JamomaCore/Foundation/library/source/TTExtensionLoader.cpp:320:20: fatal error: ShlObj.h: Aucun fichier ou dossier de ce type
#include <ShlObj.h>
^
compilation terminated.
Foundation/library/CMakeFiles/Foundation.dir/build.make:295: recipe for target 'Foundation/library/CMakeFiles/Foundation.dir/source/TTExtensionLoader.cpp.obj' failed
make[2]: *** [Foundation/library/CMakeFiles/Foundation.dir/source/TTExtensionLoader.cpp.obj] Error 1
CMakeFiles/Makefile2:1054: recipe for target 'Foundation/library/CMakeFiles/Foundation.dir/all' failed
make[1]: *** [Foundation/library/CMakeFiles/Foundation.dir/all] Error 2
Makefile:146: recipe for target 'all' failed
make: *** [all] Error 2
I just pushed my toolchains here : ad5f66f
And configure with :
mkdir build-JamomaCore-mingw
cd build-JamomaCore-mingw
cmake -DCMAKE_TOOLCHAIN_FILE=`readlink -f ../Shared/CMake/toolchains/mingw-64.cmake` -DJAMOMA_CORE_SRC_PATH=`readlink -f ${PWD}/..` ..
What did I forgot ?
I think that Linux being case sensitive it might be that the file is named shlobj.h
instead of ShlObj.h
:
jcelerier@arch-jm ~ % pkgfile --search shlobj.h
community/mingw-w64-headers
jcelerier@arch-jm ~ % pkgfile --search ShlObj.h
[1] 2055 exit 1 pkgfile --search ShlObj.h
you're right dude
but now I have undefined reference to _imp__SHCreateDirectory@8
which seems to be related to shlobj
.
this is related to a bug in Mingw-w64, and it's fixed with version 4.0.2-4 released for Ubuntu 15.10 (yes you may need a Dolorean ;-) )
The best kind of bugs!
On Fri, Jun 26, 2015 at 9:40 AM, Antoine Villeret notifications@github.com
wrote:
this is related to a bug in Mingw-w64, and it's fixed with version 4.0.2-4
released for Ubuntu 15.10 (yes you may need a Dolorean ;-) )—
Reply to this email directly or view it on GitHub
#367 (comment).