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 :aie:
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 :mouarf: ):
Cette commande conscite à inclure TOUT les fichiers de la bibliothèque... :?Code:
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
Merci d'avance pour votre aide :mrgreen:
Martantoine