Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
1 task done
Zhaojun-Liu opened this issue Jul 16, 2024 · 1 comment

Comments

@Zhaojun-Liu
Copy link

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

  • I agree to follow the Code of Conduct
@tpoole
Copy link
Member

tpoole commented Nov 22, 2024

Could you please try this again using JUCE 8.0.4? We have made a few improvements to our Windows Arm support.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants