axmolengine / axmol

Axmol Engine – A Multi-platform Engine for Desktop, XBOX (UWP) and Mobile games. (A fork of Cocos2d-x-4.0)
https://axmol.dev
MIT License
916 stars 204 forks source link

thirdparty compiler error in windowx x86 #1177

Closed iAndyHD3 closed 1 year ago

iAndyHD3 commented 1 year ago

compiling my project (OpenGD), i get the following errors on thirdparty libs in x86

the cmake command cmake -B build_x86 -A win32

cmake --build build_x86
MSBuild version 17.5.1+f6fdcf537 for .NET Framework

  1>
  Syncing resources for OpenGD ...
      Syncing to C:/Users/user/Desktop/projects/axmol/OpenGD/build_x86/bin/OpenGD/Debug/Content
  ConvertUTF.vcxproj -> C:\Users\user\Desktop\projects\axmol\OpenGD\build_x86\lib\Debug\ConvertUTF.lib
  common.vcxproj -> C:\Users\user\Desktop\projects\axmol\OpenGD\build_x86\lib\Debug\common.lib
  OpenAL.vcxproj -> C:\Users\user\Desktop\projects\axmol\OpenGD\build_x86\bin\Debug\OpenAL32.dll
  astcenc_averages_and_directions.cpp
C:\Users\user\Desktop\projects\axmol\axmol\thirdparty\astc\astcenc_vecmathlib_sse_4.h(1278,26): error C3861: '_mm_popc
nt_u64': identifier not found [C:\Users\user\Desktop\projects\axmol\OpenGD\build_x86\engine\thirdparty\astc\astc.vcxpr
oj]
C:\Users\user\Desktop\projects\axmol\axmol\thirdparty\astc\astcenc_vecmathlib_avx2_8.h(180,28): error C3861: '_mm_cvts
i64_si128': identifier not found [C:\Users\user\Desktop\projects\axmol\OpenGD\build_x86\engine\thirdparty\astc\astc.vc
xproj]
  astcenc_block_sizes.cpp
C:\Users\user\Desktop\projects\axmol\axmol\thirdparty\astc\astcenc_vecmathlib_sse_4.h(1278,26): error C3861: '_mm_popc
nt_u64': identifier not found [C:\Users\user\Desktop\projects\axmol\OpenGD\build_x86\engine\thirdparty\astc\astc.vcxpr
oj]
C:\Users\user\Desktop\projects\axmol\axmol\thirdparty\astc\astcenc_vecmathlib_avx2_8.h(180,28): error C3861: '_mm_cvts
i64_si128': identifier not found [C:\Users\user\Desktop\projects\axmol\OpenGD\build_x86\engine\thirdparty\astc\astc.vc
xproj]
  astcenc_color_quantize.cpp
C:\Users\user\Desktop\projects\axmol\axmol\thirdparty\astc\astcenc_vecmathlib_sse_4.h(1278,26): error C3861: '_mm_popc
nt_u64': identifier not found [C:\Users\user\Desktop\projects\axmol\OpenGD\build_x86\engine\thirdparty\astc\astc.vcxpr
oj]
C:\Users\user\Desktop\projects\axmol\axmol\thirdparty\astc\astcenc_vecmathlib_avx2_8.h(180,28): error C3861: '_mm_cvts
i64_si128': identifier not found [C:\Users\user\Desktop\projects\axmol\OpenGD\build_x86\engine\thirdparty\astc\astc.vc
xproj]
  astcenc_color_unquantize.cpp
C:\Users\user\Desktop\projects\axmol\axmol\thirdparty\astc\astcenc_vecmathlib_sse_4.h(1278,26): error C3861: '_mm_popc
nt_u64': identifier not found [C:\Users\user\Desktop\projects\axmol\OpenGD\build_x86\engine\thirdparty\astc\astc.vcxpr
oj]
C:\Users\user\Desktop\projects\axmol\axmol\thirdparty\astc\astcenc_vecmathlib_avx2_8.h(180,28): error C3861: '_mm_cvts
i64_si128': identifier not found [C:\Users\user\Desktop\projects\axmol\OpenGD\build_x86\engine\thirdparty\astc\astc.vc
xproj]
  astcenc_compress_symbolic.cpp
C:\Users\user\Desktop\projects\axmol\axmol\thirdparty\astc\astcenc_vecmathlib_sse_4.h(1278,26): error C3861: '_mm_popc
nt_u64': identifier not found [C:\Users\user\Desktop\projects\axmol\OpenGD\build_x86\engine\thirdparty\astc\astc.vcxpr
oj]
C:\Users\user\Desktop\projects\axmol\axmol\thirdparty\astc\astcenc_vecmathlib_avx2_8.h(180,28): error C3861: '_mm_cvts
i64_si128': identifier not found [C:\Users\user\Desktop\projects\axmol\OpenGD\build_x86\engine\thirdparty\astc\astc.vc
xproj]
  astcenc_compute_variance.cpp
C:\Users\user\Desktop\projects\axmol\axmol\thirdparty\astc\astcenc_vecmathlib_sse_4.h(1278,26): error C3861: '_mm_popc
nt_u64': identifier not found [C:\Users\user\Desktop\projects\axmol\OpenGD\build_x86\engine\thirdparty\astc\astc.vcxpr
oj]
C:\Users\user\Desktop\projects\axmol\axmol\thirdparty\astc\astcenc_vecmathlib_avx2_8.h(180,28): error C3861: '_mm_cvts
i64_si128': identifier not found [C:\Users\user\Desktop\projects\axmol\OpenGD\build_x86\engine\thirdparty\astc\astc.vc
xproj]
  astcenc_decompress_symbolic.cpp
C:\Users\user\Desktop\projects\axmol\axmol\thirdparty\astc\astcenc_vecmathlib_sse_4.h(1278,26): error C3861: '_mm_popc
nt_u64': identifier not found [C:\Users\user\Desktop\projects\axmol\OpenGD\build_x86\engine\thirdparty\astc\astc.vcxpr
oj]
C:\Users\user\Desktop\projects\axmol\axmol\thirdparty\astc\astcenc_vecmathlib_avx2_8.h(180,28): error C3861: '_mm_cvts
i64_si128': identifier not found [C:\Users\user\Desktop\projects\axmol\OpenGD\build_x86\engine\thirdparty\astc\astc.vc
xproj]
  astcenc_diagnostic_trace.cpp
  astcenc_entry.cpp
C:\Users\user\Desktop\projects\axmol\axmol\thirdparty\astc\astcenc_vecmathlib_sse_4.h(1278,26): error C3861: '_mm_popc
nt_u64': identifier not found [C:\Users\user\Desktop\projects\axmol\OpenGD\build_x86\engine\thirdparty\astc\astc.vcxpr
oj]
C:\Users\user\Desktop\projects\axmol\axmol\thirdparty\astc\astcenc_vecmathlib_avx2_8.h(180,28): error C3861: '_mm_cvts
i64_si128': identifier not found [C:\Users\user\Desktop\projects\axmol\OpenGD\build_x86\engine\thirdparty\astc\astc.vc
xproj]
  astcenc_find_best_partitioning.cpp
C:\Users\user\Desktop\projects\axmol\axmol\thirdparty\astc\astcenc_vecmathlib_sse_4.h(1278,26): error C3861: '_mm_popc
nt_u64': identifier not found [C:\Users\user\Desktop\projects\axmol\OpenGD\build_x86\engine\thirdparty\astc\astc.vcxpr
oj]
C:\Users\user\Desktop\projects\axmol\axmol\thirdparty\astc\astcenc_vecmathlib_avx2_8.h(180,28): error C3861: '_mm_cvts
i64_si128': identifier not found [C:\Users\user\Desktop\projects\axmol\OpenGD\build_x86\engine\thirdparty\astc\astc.vc
xproj]
  astcenc_ideal_endpoints_and_weights.cpp
C:\Users\user\Desktop\projects\axmol\axmol\thirdparty\astc\astcenc_vecmathlib_sse_4.h(1278,26): error C3861: '_mm_popc
nt_u64': identifier not found [C:\Users\user\Desktop\projects\axmol\OpenGD\build_x86\engine\thirdparty\astc\astc.vcxpr
oj]
C:\Users\user\Desktop\projects\axmol\axmol\thirdparty\astc\astcenc_vecmathlib_avx2_8.h(180,28): error C3861: '_mm_cvts
i64_si128': identifier not found [C:\Users\user\Desktop\projects\axmol\OpenGD\build_x86\engine\thirdparty\astc\astc.vc
xproj]
  astcenc_image.cpp
C:\Users\user\Desktop\projects\axmol\axmol\thirdparty\astc\astcenc_vecmathlib_sse_4.h(1278,26): error C3861: '_mm_popc
nt_u64': identifier not found [C:\Users\user\Desktop\projects\axmol\OpenGD\build_x86\engine\thirdparty\astc\astc.vcxpr
oj]
C:\Users\user\Desktop\projects\axmol\axmol\thirdparty\astc\astcenc_vecmathlib_avx2_8.h(180,28): error C3861: '_mm_cvts
i64_si128': identifier not found [C:\Users\user\Desktop\projects\axmol\OpenGD\build_x86\engine\thirdparty\astc\astc.vc
xproj]
  astcenc_integer_sequence.cpp
C:\Users\user\Desktop\projects\axmol\axmol\thirdparty\astc\astcenc_vecmathlib_sse_4.h(1278,26): error C3861: '_mm_popc
nt_u64': identifier not found [C:\Users\user\Desktop\projects\axmol\OpenGD\build_x86\engine\thirdparty\astc\astc.vcxpr
oj]
C:\Users\user\Desktop\projects\axmol\axmol\thirdparty\astc\astcenc_vecmathlib_avx2_8.h(180,28): error C3861: '_mm_cvts
i64_si128': identifier not found [C:\Users\user\Desktop\projects\axmol\OpenGD\build_x86\engine\thirdparty\astc\astc.vc
xproj]
  astcenc_mathlib.cpp
C:\Users\user\Desktop\projects\axmol\axmol\thirdparty\astc\astcenc_vecmathlib_sse_4.h(1278,26): error C3861: '_mm_popc
nt_u64': identifier not found [C:\Users\user\Desktop\projects\axmol\OpenGD\build_x86\engine\thirdparty\astc\astc.vcxpr
oj]
C:\Users\user\Desktop\projects\axmol\axmol\thirdparty\astc\astcenc_vecmathlib_avx2_8.h(180,28): error C3861: '_mm_cvts
i64_si128': identifier not found [C:\Users\user\Desktop\projects\axmol\OpenGD\build_x86\engine\thirdparty\astc\astc.vc
xproj]
  astcenc_mathlib_softfloat.cpp
  astcenc_partition_tables.cpp
C:\Users\user\Desktop\projects\axmol\axmol\thirdparty\astc\astcenc_vecmathlib_sse_4.h(1278,26): error C3861: '_mm_popc
nt_u64': identifier not found [C:\Users\user\Desktop\projects\axmol\OpenGD\build_x86\engine\thirdparty\astc\astc.vcxpr
oj]
C:\Users\user\Desktop\projects\axmol\axmol\thirdparty\astc\astcenc_vecmathlib_avx2_8.h(180,28): error C3861: '_mm_cvts
i64_si128': identifier not found [C:\Users\user\Desktop\projects\axmol\OpenGD\build_x86\engine\thirdparty\astc\astc.vc
xproj]
  astcenc_percentile_tables.cpp
C:\Users\user\Desktop\projects\axmol\axmol\thirdparty\astc\astcenc_vecmathlib_sse_4.h(1278,26): error C3861: '_mm_popc
nt_u64': identifier not found [C:\Users\user\Desktop\projects\axmol\OpenGD\build_x86\engine\thirdparty\astc\astc.vcxpr
oj]
C:\Users\user\Desktop\projects\axmol\axmol\thirdparty\astc\astcenc_vecmathlib_avx2_8.h(180,28): error C3861: '_mm_cvts
i64_si128': identifier not found [C:\Users\user\Desktop\projects\axmol\OpenGD\build_x86\engine\thirdparty\astc\astc.vc
xproj]
  astcenc_pick_best_endpoint_format.cpp
C:\Users\user\Desktop\projects\axmol\axmol\thirdparty\astc\astcenc_vecmathlib_sse_4.h(1278,26): error C3861: '_mm_popc
nt_u64': identifier not found [C:\Users\user\Desktop\projects\axmol\OpenGD\build_x86\engine\thirdparty\astc\astc.vcxpr
oj]
C:\Users\user\Desktop\projects\axmol\axmol\thirdparty\astc\astcenc_vecmathlib_avx2_8.h(180,28): error C3861: '_mm_cvts
i64_si128': identifier not found [C:\Users\user\Desktop\projects\axmol\OpenGD\build_x86\engine\thirdparty\astc\astc.vc
xproj]
  astcenc_platform_isa_detection.cpp
C:\Users\user\Desktop\projects\axmol\axmol\thirdparty\astc\astcenc_vecmathlib_sse_4.h(1278,26): error C3861: '_mm_popc
nt_u64': identifier not found [C:\Users\user\Desktop\projects\axmol\OpenGD\build_x86\engine\thirdparty\astc\astc.vcxpr
oj]
C:\Users\user\Desktop\projects\axmol\axmol\thirdparty\astc\astcenc_vecmathlib_avx2_8.h(180,28): error C3861: '_mm_cvts
i64_si128': identifier not found [C:\Users\user\Desktop\projects\axmol\OpenGD\build_x86\engine\thirdparty\astc\astc.vc
xproj]
  astcenc_quantization.cpp
C:\Users\user\Desktop\projects\axmol\axmol\thirdparty\astc\astcenc_vecmathlib_sse_4.h(1278,26): error C3861: '_mm_popc
nt_u64': identifier not found [C:\Users\user\Desktop\projects\axmol\OpenGD\build_x86\engine\thirdparty\astc\astc.vcxpr
oj]
C:\Users\user\Desktop\projects\axmol\axmol\thirdparty\astc\astcenc_vecmathlib_avx2_8.h(180,28): error C3861: '_mm_cvts
i64_si128': identifier not found [C:\Users\user\Desktop\projects\axmol\OpenGD\build_x86\engine\thirdparty\astc\astc.vc
xproj]
  Generating Code...
  Compiling...
  astcenc_symbolic_physical.cpp
C:\Users\user\Desktop\projects\axmol\axmol\thirdparty\astc\astcenc_vecmathlib_sse_4.h(1278,26): error C3861: '_mm_popc
nt_u64': identifier not found [C:\Users\user\Desktop\projects\axmol\OpenGD\build_x86\engine\thirdparty\astc\astc.vcxpr
oj]
C:\Users\user\Desktop\projects\axmol\axmol\thirdparty\astc\astcenc_vecmathlib_avx2_8.h(180,28): error C3861: '_mm_cvts
i64_si128': identifier not found [C:\Users\user\Desktop\projects\axmol\OpenGD\build_x86\engine\thirdparty\astc\astc.vc
xproj]
  astcenc_weight_align.cpp
C:\Users\user\Desktop\projects\axmol\axmol\thirdparty\astc\astcenc_vecmathlib_sse_4.h(1278,26): error C3861: '_mm_popc
nt_u64': identifier not found [C:\Users\user\Desktop\projects\axmol\OpenGD\build_x86\engine\thirdparty\astc\astc.vcxpr
oj]
C:\Users\user\Desktop\projects\axmol\axmol\thirdparty\astc\astcenc_vecmathlib_avx2_8.h(180,28): error C3861: '_mm_cvts
i64_si128': identifier not found [C:\Users\user\Desktop\projects\axmol\OpenGD\build_x86\engine\thirdparty\astc\astc.vc
xproj]
  astcenc_weight_quant_xfer_tables.cpp
C:\Users\user\Desktop\projects\axmol\axmol\thirdparty\astc\astcenc_vecmathlib_sse_4.h(1278,26): error C3861: '_mm_popc
nt_u64': identifier not found [C:\Users\user\Desktop\projects\axmol\OpenGD\build_x86\engine\thirdparty\astc\astc.vcxpr
oj]
C:\Users\user\Desktop\projects\axmol\axmol\thirdparty\astc\astcenc_vecmathlib_avx2_8.h(180,28): error C3861: '_mm_cvts
i64_si128': identifier not found [C:\Users\user\Desktop\projects\axmol\OpenGD\build_x86\engine\thirdparty\astc\astc.vc
xproj]
halx99 commented 1 year ago

Try delete build/CMakeCache.txt and regenerate again

halx99 commented 1 year ago

I have test on may machine and works well:

image

aismann commented 1 year ago

I added a Q/A for this kind of errors: Hope this is the solution: #1178 (Its the answer from halx99: Try delete build/CMakeCache.txt and regenerate again)

iAndyHD3 commented 1 year ago

Ok indeed deleting CMakeCache.txt works but I don't think this is a good solution. E.g if I have to build astc again in x64 I would probably need to delete the cache again. If you disagree feel free to close the issue, this is just my thought

aismann commented 1 year ago

Short answer: As long there is no "official" release version of axmol there, as long can somethings changed between axmol repository and your own repository clone. Hope its ok. axmol beta is stable as far as I feel.

halx99 commented 1 year ago

Ok indeed deleting CMakeCache.txt works but I don't think this is a good solution. E.g if I have to build astc again in x64 I would probably need to delete the cache again. If you disagree feel free to close the issue, this is just my thought

That's cmake limitions, we can't deal it.

halx99 commented 1 year ago

And sometimes you needs del whole build folder when the cmake generator changed, so the correct practice is use different build dir for different platform or architectures, e.g.

build_x86 build_x64