Bonsoir

J'aimerai porter mon "moteur 3d" développé en c++ à l'aide de glew, glfw3, assimp, freetype et glm sur le web à l'aide de Emscripten.
J'arrive à porte de simples programmes utilisants glfw3 et glew mais dès que je veux utiliser une bibliothèque autre que celles qu'inclue directement emscripten je bloque

Mon approche est de précompiler les bibliothèques externes (glm, assimp, freetype) en fichiers .bc (bytecode) pour ensuite les lier a mon moteur durant la compilation.
Bien entendu cela ne fonctionne pas car je n'ai absolument AuCuNe idées de comment compiler ses bibliothèques !
Actuellement j'utilise la commande suivante pour essayer de compiler glm (commande ne fonctionnant pas bien sûr ):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
emcc -I"common.hpp" "exponential.hpp" "ext.hpp" "fwd.hpp" "geometric.hpp" "glm.hpp" "integer.hpp" "mat2x2.hpp" "mat2x3.hpp" "mat2x4.hpp" "mat3x2.hpp" "mat3x3.hpp" "mat3x4.hpp" "mat4x2.hpp" "mat4x3.hpp" "mat4x4.hpp" "matrix.hpp" "packing.hpp" "trigonometric.hpp" "vec2.hpp" "vec3.hpp" "vec4.hpp" "vector_relational.hpp" "detail/compute_vector_relational.hpp" "detail/dummy.cpp" "detail/glm.cpp" "detail/qualifier.hpp" "detail/setup.hpp" "detail/type_float.hpp" "detail/type_gentype.hpp" "detail/type_half.hpp" "detail/type_int.hpp" "detail/type_mat.hpp" "detail/type_mat2x2.hpp" "detail/type_mat2x3.hpp" "detail/type_mat2x4.hpp" "detail/type_mat3x2.hpp" "detail/type_mat3x3.hpp" "detail/type_mat3x4.hpp" "detail/type_mat4x2.hpp" "detail/type_mat4x3.hpp" "detail/type_mat4x4.hpp" "detail/type_vec.hpp" "detail/type_vec1.hpp" "detail/type_vec2.hpp" "detail/type_vec3.hpp" "detail/type_vec4.hpp" "detail/_features.hpp" "detail/_fixes.hpp" "detail/_noise.hpp" "detail/_swizzle.hpp" "detail/_swizzle_func.hpp" "detail/_vectorize.hpp" "ext/vec1.hpp" "ext/vector_relational.hpp" "gtc/bitfield.hpp" "gtc/color_space.hpp" "gtc/constants.hpp" "gtc/epsilon.hpp" "gtc/integer.hpp" "gtc/matrix_access.hpp" "gtc/matrix_integer.hpp" "gtc/matrix_inverse.hpp" "gtc/matrix_transform.hpp" "gtc/noise.hpp" "gtc/packing.hpp" "gtc/quaternion.hpp" "gtc/random.hpp" "gtc/reciprocal.hpp" "gtc/round.hpp" "gtc/type_aligned.hpp" "gtc/type_precision.hpp" "gtc/type_ptr.hpp" "gtc/ulp.hpp" "gtc/vec1.hpp" "gtx/associated_min_max.hpp" "gtx/bit.hpp" "gtx/closest_point.hpp" "gtx/color_encoding.hpp" "gtx/color_space.hpp" "gtx/color_space_YCoCg.hpp" "gtx/common.hpp" "gtx/compatibility.hpp" "gtx/component_wise.hpp" "gtx/dual_quaternion.hpp" "gtx/euler_angles.hpp" "gtx/extend.hpp" "gtx/extended_min_max.hpp" "gtx/exterior_product.hpp" "gtx/fast_exponential.hpp" "gtx/fast_square_root.hpp" "gtx/fast_trigonometry.hpp" "gtx/functions.hpp" "gtx/gradient_paint.hpp" "gtx/handed_coordinate_space.hpp" "gtx/hash.hpp" "gtx/integer.hpp" "gtx/intersect.hpp" "gtx/io.hpp" "gtx/log_base.hpp" "gtx/matrix_cross_product.hpp" "gtx/matrix_decompose.hpp" "gtx/matrix_factorisation.hpp" "gtx/matrix_interpolation.hpp" "gtx/matrix_major_storage.hpp" "gtx/matrix_operation.hpp" "gtx/matrix_query.hpp" "gtx/matrix_transform_2d.hpp" "gtx/mixed_product.hpp" "gtx/norm.hpp" "gtx/normal.hpp" "gtx/normalize_dot.hpp" "gtx/number_precision.hpp" "gtx/optimum_pow.hpp" "gtx/orthonormalize.hpp" "gtx/perpendicular.hpp" "gtx/polar_coordinates.hpp" "gtx/projection.hpp" "gtx/quaternion.hpp" "gtx/range.hpp" "gtx/raw_data.hpp" "gtx/rotate_normalized_axis.hpp" "gtx/rotate_vector.hpp" "gtx/scalar_multiplication.hpp" "gtx/scalar_relational.hpp" "gtx/spline.hpp" "gtx/std_based_type.hpp" "gtx/string_cast.hpp" "gtx/texture.hpp" "gtx/transform.hpp" "gtx/transform2.hpp" "gtx/type_aligned.hpp" "gtx/type_trait.hpp" "gtx/vector_angle.hpp" "gtx/vector_query.hpp" "gtx/vec_swizzle.hpp" "gtx/wrap.hpp" "simd/common.h" "simd/exponential.h" "simd/geometric.h" "simd/integer.h" "simd/matrix.h" "simd/packing.h" "simd/platform.h" "simd/trigonometric.h" "simd/vector_relational.h" -v -o glm_compiled.bc
Cette commande conscite à inclure TOUT les fichiers de la bibliothèque...

Merci d'avance pour votre aide

Martantoine