JUCE icon indicating copy to clipboard operation
JUCE copied to clipboard

[Bug]: JUCE failed to build due to "error LNK2001: unresolved external symbol _Cnd_timedwait_for" on Windows arm64

Open Zhaojun-Liu opened this issue 1 year ago • 0 comments
trafficstars

Detailed steps on how to reproduce the bug

I tried to do the cross-compiling for arm64 with JUCE on Windows, but it failed due to error LNK2001: unresolved external symbol _Cnd_timedwait_for, could you help take a look? Thanks.

Repro steps:

  1. git clone https://github.com/juce-framework/JUCE C:\gitP\juce-framework\JUCE
  2. git clone https://github.com/R-Tur/VST_SDK_2.4 C:\gitP\R-Tur\VST_SDK_2.4
  3. xcopy "C:\gitP\R-Tur\VST_SDK_2.4\pluginterfaces" "C:\gitP\juce-framework\JUCE\modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces" /k/r/e/i/s/c/h/f/y
  4. mkdir C:\gitP\juce-framework\JUCE\build_arm64 & cd /d C:\gitP\juce-framework\JUCE\build_arm64
  5. cmake -G "Visual Studio 17 2022" -A arm64 -DCMAKE_SYSTEM_VERSION=10.0.22621.0 -DJUCE_BUILD_EXAMPLES=ON -DJUCE_BUILD_EXTRAS=ON ..
  6. msbuild /m /p:Platform=arm64 /p:Configuration=Release JUCE.sln /t:Rebuild

Actual result:

"C:\gitP\juce-framework\JUCE\build_arm64\JUCE.sln" (Rebuild target) (1) ->
 "C:\gitP\juce-framework\JUCE\build_arm64\ALL_BUILD.vcxproj.metaproj" (Rebuild target) (2) ->
 "C:\gitP\juce-framework\JUCE\build_arm64\examples\GUI\MultiTouchDemo.vcxproj.metaproj" (Rebuild target) (142) ->
 "C:\gitP\juce-framework\JUCE\build_arm64\examples\GUI\MultiTouchDemo.vcxproj" (Rebuild target) (402) ->
   juce_core.obj : error LNK2001: unresolved external symbol _Cnd_timedwait_for [C:\gitP\juce-framework\JUCE\build_arm64\examples\GUI\MultiTouchDemo.vcxproj]
 C:\gitP\juce-framework\JUCE\build_arm64\examples\GUI\MultiTouchDemo_artefacts\Release\MultiTouchDemo.exe : fatal error LNK1120: 1 unresolved externals [C:\gitP\juce-framework\JUCE\build_arm64\examples\GUI\MultiTouchDemo.vcxproj]
 juce_core.obj : error LNK2001: unresolved external symbol _Cnd_timedwait_for [C:\gitP\juce-framework\JUCE\build_arm64\examples\GUI\MultiTouchDemo.vcxproj]
 C:\gitP\juce-framework\JUCE\build_arm64\examples\GUI\MultiTouchDemo_artefacts\Release\MultiTouchDemo.exe : fatal error LNK1120: 1 unresolved externals [C:\gitP\juce-framework\JUCE\build_arm64\examples\GUI\MultiTouchDemo.vcxproj]

detailed log: Build_juce.log

The commit of JUCE I used is 4f43011. I also tried the current latest commit 61a0309, the same result.

What is the expected behaviour?

it compiles.

Operating systems

Windows

What versions of the operating systems?

Windows Server 2022 Datacenter 21H2

Architectures

ARM

Stacktrace

No response

Plug-in formats (if applicable)

No response

Plug-in host applications (DAWs) (if applicable)

No response

Testing on the develop branch

The bug is present on the develop branch

Code of Conduct

  • [X] I agree to follow the Code of Conduct

Zhaojun-Liu avatar Jul 16 '24 09:07 Zhaojun-Liu