Bonjour !

Depuis quelques temps, je développe un viewer 3d en c++ dont voici le lien : https://github.com/martantoine/VoxEngine.
Celui utilise OpenGL, GLFW, freetype, GLM, stb_image et assimp.
Tout fonctionne sans problèmes sur windows, c'est ainsi que j'ai donc essayé de le porter sur le web à l'aide d'emscripten, j'ai reussi à utiliser les bibliotheques GLFW, GLM et stb_image.
C'est maintenant au tour d'assimp d'être compiler pour que que je puisse charger des fichiers 3d sur le web. Mais, si je suis ici c'est que j'ai un problème , et celui-ci est à cause d'Assimp : je ne sais pas comment créer un .bc ou .so ou .a (à vrai dire je ne sais même pas quel doit être l'extension ) pour pouvoir ensuite l'inclure dans le projet au moment de la compilation. Un des fichiers .so à l'air de fonctionner mais j'ai ces erreurs au moment de la compilation du projet complet (ne pas prendre compte du warning) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
F:\Documents\VoxEngine\VoxEngine-core>call em++ Emscripten/libassimp.so src/Entities/Components/Lights/PointLight.cpp src/Entities/Components/Miscs/Camera.cpp src/Entities/Components/Renderable/Shapes/Rectangle.cpp src/Entities/Components/Renderable/Renderable.cpp src/Entities/Components/EntityComponent.cpp src/Entities/Entity.cpp src/Graphics/Buffers/EBO.cpp src/Graphics/Buffers/Texture.cpp src/Graphics/Buffers/VAO.cpp src/Graphics/Buffers/VBO.cpp src/Graphics/Renderers/SimpleRenderer2D.cpp src/Graphics/Shaders/LightingShader.cpp src/Graphics/Shaders/Shader.cpp src/Graphics/Window.cpp src/main.cpp -s USE_GLFW=3 --preload-file Emscripten/fond.png --preload-file Emscripten/BasicLightingWeb.frag --preload-file Emscripten/BasicLightingWeb.vert Emscripten/libassimp.so -s DEMANGLE_SUPPORT=1 -std=c++1z -s FULL_ES3=1 -o Emscripten/code.html
src/Entities/Components/Lights/PointLight.cpp:1:9: warning: #pragma once in main file
#pragma once
        ^
1 warning generated.
warning: emitted code will contain very large numbers of local variables, which is bad for performance (build to JS with -O2 or above to avoid this - make sure to do so both on source files, and during 'linking')
warning: unresolved symbol: zip_close
warning: unresolved symbol: _ZN6Assimp14ExportSceneX3DEPKcPNS_8IOSystemEPK7aiScenePKNS_16ExportPropertiesE
warning: unresolved symbol: _ZN6Assimp18ExportSceneColladaEPKcPNS_8IOSystemEPK7aiScenePKNS_16ExportPropertiesE
warning: unresolved symbol: _ZN2UE10UEGraphics16SimpleRenderer3DC1ERNS0_6ShaderE
warning: unresolved symbol: compress2
warning: unresolved symbol: _ZN2UE10UEGraphics16SimpleRenderer3D6RenderERNS_7UEntity6EntityE
warning: unresolved symbol: zip_entry_close
warning: unresolved symbol: _ZN6Assimp14ExportScene3DSEPKcPNS_8IOSystemEPK7aiScenePKNS_16ExportPropertiesE
warning: unresolved symbol: _ZN6Assimp16ExportSceneXFileEPKcPNS_8IOSystemEPK7aiScenePKNS_16ExportPropertiesE
warning: unresolved symbol: zip_entry_write
warning: unresolved symbol: zip_entry_open
warning: unresolved symbol: zip_open
warning: unresolved symbol: _ZN2UE7UEntity5ModelC1EPKc
Voici le batch que j'utilise pour compiler Assimp :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
em++ "ACLoader.cpp" "ASELoader.cpp" "ASEParser.cpp" "AssbinExporter.cpp" "AssbinLoader.cpp" "Assimp.cpp" "AssimpCExport.cpp" "AssxmlExporter.cpp" "B3DImporter.cpp" "BaseImporter.cpp" "BaseProcess.cpp" "Bitmap.cpp" "BVHLoader.cpp" "CalcTangentsProcess.cpp" "CInterfaceIOWrapper.cpp" "COBLoader.cpp" "ColladaLoader.cpp" "ColladaParser.cpp" "ComputeUVMappingProcess.cpp" "ConvertToLHProcess.cpp" "CreateAnimMesh.cpp" "CSMLoader.cpp" "D3MFExporter.cpp" "D3MFImporter.cpp" "D3MFOpcPackage.cpp" "DeboneProcess.cpp" "DefaultIOStream.cpp" "DefaultIOSystem.cpp" "DefaultLogger.cpp" "DXFLoader.cpp" "Exporter.cpp" "FindDegenerates.cpp" "FindInstancesProcess.cpp" "FindInvalidDataProcess.cpp" "FIReader.cpp" "FixNormalsStep.cpp" "GenFaceNormalsProcess.cpp" "GenVertexNormalsProcess.cpp" "glTF2Exporter.cpp" "glTF2Importer.cpp" "glTFExporter.cpp" "glTFImporter.cpp" "HMPLoader.cpp" "IFCBoolean.cpp" "IFCCurve.cpp" "IFCGeometry.cpp" "IFCLoader.cpp" "IFCMaterial.cpp" "IFCOpenings.cpp" "IFCProfile.cpp" "IFCReaderGen1.cpp" "IFCReaderGen2.cpp" "IFCUtil.cpp" "Importer.cpp" "ImporterRegistry.cpp" "ImproveCacheLocality.cpp" "IRRLoader.cpp" "IRRMeshLoader.cpp" "IRRShared.cpp" "JoinVerticesProcess.cpp" "LimitBoneWeightsProcess.cpp" "LWOAnimation.cpp" "LWOBLoader.cpp" "LWOLoader.cpp" "LWOMaterial.cpp" "LWSLoader.cpp" "MakeVerboseFormat.cpp" "MaterialSystem.cpp" "MD2Loader.cpp" "MD3Loader.cpp" "MD5Loader.cpp" "MD5Parser.cpp" "MDCLoader.cpp" "MDLLoader.cpp" "MDLMaterialLoader.cpp" "MMDImporter.cpp" "MMDPmxParser.cpp" "MS3DLoader.cpp" "NDOLoader.cpp" "NFFLoader.cpp" "ObjExporter.cpp" "ObjFileImporter.cpp" "ObjFileMtlImporter.cpp" "ObjFileParser.cpp" "OFFLoader.cpp" "OptimizeGraph.cpp" "OptimizeMeshes.cpp" "PlyExporter.cpp" "PlyLoader.cpp" "PlyParser.cpp" "PostStepRegistry.cpp" "PretransformVertices.cpp" "ProcessHelper.cpp" "RawLoader.cpp" "RemoveComments.cpp" "RemoveRedundantMaterials.cpp" "RemoveVCProcess.cpp" "ScaleProcess.cpp" "scene.cpp" "SceneCombiner.cpp" "ScenePreprocessor.cpp" "SGSpatialSort.cpp" "SIBImporter.cpp" "SkeletonMeshBuilder.cpp" "SMDLoader.cpp" "SortByPTypeProcess.cpp" "SpatialSort.cpp" "SplitByBoneCountProcess.cpp" "SplitLargeMeshes.cpp" "StandardShapes.cpp" "StepExporter.cpp" "STEPFileEncoding.cpp" "STEPFileReader.cpp" "STLExporter.cpp" "STLLoader.cpp" "Subdivision.cpp" "TargetAnimation.cpp" "TerragenLoader.cpp" "TextureTransform.cpp" "TriangulateProcess.cpp" "UnrealLoader.cpp" "ValidateDataStructure.cpp" "Version.cpp" "VertexTriangleAdjacency.cpp" -I"../include" -I"../contrib/rapidjson/include" -I"../" -std=c++11 -o libassimp.so
J'espère que j'aurai été assez clair et que vous pourrez m'aider.

Merci d'avance pour votre précieuse aide