PortAudio / portaudio

PortAudio is a cross-platform, open-source C language library for real-time audio input and output.
Other
1.43k stars 296 forks source link

The vcpkg of portaudio can not be found by Visual Studio #827

Closed unbadfish closed 1 year ago

unbadfish commented 1 year ago

Describe the bug The vcpkg of portaudio can NOT be found by Visual Studio

To Reproduce

  1. download and install vcpkg
  2. run vcpkg integrate install
  3. install portaudio via vcpkg install portaudio
  4. new a VS-Cmake project
  5. in the CMakeLists.txt, pastefind_package(portaudio CONFIG REQUIRED) provided by vcpkg

Expected behavior The VS should find the package correctly.

Actual behavior Package 'portaudio' not found. image1

When manually type p-o into find_package, the screenshot below shows what will happen: image2

Desktop (please complete the following information):

Additional context The vcpkg say this(cmake usage) is heuristically generated, and may not be correct (See below: log - install portaudio) so is there any solution?

log: install portaudio

PS C:\Users\Lenovo> vcpkg remove portaudio:x64-windows
The following packages will be removed:
    portaudio:x64-windows
Removing 1/1 portaudio:x64-windows
PS C:\Users\Lenovo> vcpkg install portaudio:x64-windows
Computing installation plan...
The following packages will be built and installed:
    portaudio:x64-windows -> 19.7#4
Detecting compiler hash for triplet x64-windows...
Restored 1 package(s) from C:\Users\Lenovo\AppData\Local\vcpkg\archives in 66.5 ms. Use --debug to see more details.
Installing 1/1 portaudio:x64-windows...
Elapsed time to handle portaudio:x64-windows: 21.4 ms
Total install time: 21.5 ms
portaudio provides CMake targets:

    # this is heuristically generated, and may not be correct
    find_package(portaudio CONFIG REQUIRED)
    target_link_libraries(main PRIVATE portaudio)

cmake output

1> CMake generation started for configuration: 'x64-debug'.
1> Environment settings:
1>     CommandPromptType=Native
1>     DevEnvDir=D:\Program Files\IDE\Microsoft Visual Studio\2022\Professional\Common7\IDE\
1>     ExtensionSdkDir=C:\Program Files (x86)\Microsoft SDKs\Windows Kits\10\ExtensionSDKs
1>     EXTERNAL_INCLUDE=D:\Program Files\IDE\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.34.31933\include;D:\Program Files\IDE\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.34.31933\ATLMFC\include;D:\Program Files\IDE\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\VS\include;D:\Windows Kits\10\include\10.0.19041.0\ucrt;D:\Windows Kits\10\\include\10.0.19041.0\\um;D:\Windows Kits\10\\include\10.0.19041.0\\shared;D:\Windows Kits\10\\include\10.0.19041.0\\winrt;D:\Windows Kits\10\\include\10.0.19041.0\\cppwinrt
1>     Framework40Version=v4.0
1>     FrameworkDir=C:\Windows\Microsoft.NET\Framework64\
1>     FrameworkDir64=C:\Windows\Microsoft.NET\Framework64\
1>     FrameworkVersion=v4.0.30319
1>     FrameworkVersion64=v4.0.30319
1>     INCLUDE=D:\Program Files\IDE\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.34.31933\include;D:\Program Files\IDE\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.34.31933\ATLMFC\include;D:\Program Files\IDE\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\VS\include;D:\Windows Kits\10\include\10.0.19041.0\ucrt;D:\Windows Kits\10\\include\10.0.19041.0\\um;D:\Windows Kits\10\\include\10.0.19041.0\\shared;D:\Windows Kits\10\\include\10.0.19041.0\\winrt;D:\Windows Kits\10\\include\10.0.19041.0\\cppwinrt
1>     LIB=D:\Program Files\IDE\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.34.31933\ATLMFC\lib\x64;D:\Program Files\IDE\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.34.31933\lib\x64;D:\Windows Kits\10\lib\10.0.19041.0\ucrt\x64;D:\Windows Kits\10\\lib\10.0.19041.0\\um\x64
1>     LIBPATH=D:\Program Files\IDE\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.34.31933\ATLMFC\lib\x64;D:\Program Files\IDE\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.34.31933\lib\x64;D:\Program Files\IDE\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.34.31933\lib\x86\store\references;D:\Windows Kits\10\UnionMetadata\10.0.19041.0;D:\Windows Kits\10\References\10.0.19041.0;C:\Windows\Microsoft.NET\Framework64\v4.0.30319
1>     Path=D:\Program Files\IDE\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.34.31933\bin\HostX64\x64;D:\Program Files\IDE\Microsoft Visual Studio\2022\Professional\Common7\IDE\VC\VCPackages;D:\Program Files\IDE\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\TestWindow;D:\Program Files\IDE\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer;D:\Program Files\IDE\Microsoft Visual Studio\2022\Professional\MSBuild\Current\bin\Roslyn;D:\Program Files\IDE\Microsoft Visual Studio\2022\Professional\Team Tools\Performance Tools\x64;D:\Program Files\IDE\Microsoft Visual Studio\2022\Professional\Team Tools\Performance Tools;D:\Windows Kits\10\bin\10.0.19041.0\\x64;D:\Windows Kits\10\bin\\x64;D:\Program Files\IDE\Microsoft Visual Studio\2022\Professional\\MSBuild\Current\Bin\amd64;C:\Windows\Microsoft.NET\Framework64\v4.0.30319;D:\Program Files\IDE\Microsoft Visual Studio\2022\Professional\Common7\IDE\;D:\Program Files\IDE\Microsoft Visual Studio\2022\Professional\Common7\Tools\;C:\Program Files\Microsoft MPI\Bin\;D:\Environment\Python310\Scripts\;D:\Environment\Python310\;C:\Program Files\Common Files\Oracle\Java\javapath;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;D:\Program Files\Gui_tool\Bandizip\;D:\Environment\CMake\bin;C:\dev\vcpkg;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;D:\Program Files\Terminal_tool;D:\Program Files\IDE\Microsoft VS Code\bin;D:\Program Files\Gui_tool\Espanso;D:\Environment\msys64\mingw64\bin;D:\Environment\msys64\usr\bin;D:\Program Files\Terminal_tool\Pandoc\;C:\Program Files\dotnet\;D:\Environment\Git\cmd;D:\Program Files\Terminal_tool\doxygen\bin;D:\Program Files\Gui_tool\TortoiseGit\bin;%USERPROFILE%\AppData\Local\Microsoft\WindowsApps;;D:\Program Files\Gui_tool\Espanso;D:\Program Files\IDE\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin;D:\Program Files\IDE\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\Ninja;D:\Program Files\IDE\Microsoft Visual Studio\2022\Professional\Common7\IDE\VC\Linux\bin\ConnectionManagerExe
1>     PROMPT=$P$G
1>     UCRTVersion=10.0.19041.0
1>     UniversalCRTSdkDir=D:\Windows Kits\10\
1>     VCIDEInstallDir=D:\Program Files\IDE\Microsoft Visual Studio\2022\Professional\Common7\IDE\VC\
1>     VCINSTALLDIR=D:\Program Files\IDE\Microsoft Visual Studio\2022\Professional\VC\
1>     VCToolsInstallDir=D:\Program Files\IDE\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.34.31933\
1>     VCToolsRedistDir=D:\Program Files\IDE\Microsoft Visual Studio\2022\Professional\VC\Redist\MSVC\14.34.31931\
1>     VCToolsVersion=14.34.31933
1>     VS170COMNTOOLS=D:\Program Files\IDE\Microsoft Visual Studio\2022\Professional\Common7\Tools\
1>     VSCMD_ARG_app_plat=Desktop
1>     VSCMD_ARG_HOST_ARCH=x64
1>     VSCMD_ARG_no_logo=1
1>     VSCMD_ARG_TGT_ARCH=x64
1>     VSCMD_DEBUG=5 
1>     VSCMD_VER=17.4.4
1>     VSINSTALLDIR=D:\Program Files\IDE\Microsoft Visual Studio\2022\Professional\
1>     WindowsLibPath=D:\Windows Kits\10\UnionMetadata\10.0.19041.0;D:\Windows Kits\10\References\10.0.19041.0
1>     WindowsSdkBinPath=D:\Windows Kits\10\bin\
1>     WindowsSdkDir=D:\Windows Kits\10\
1>     WindowsSDKLibVersion=10.0.19041.0\
1>     WindowsSdkVerBinPath=D:\Windows Kits\10\bin\10.0.19041.0\
1>     WindowsSDKVersion=10.0.19041.0\
1>     __DOTNET_ADD_64BIT=1
1>     __DOTNET_PREFERRED_BITNESS=64
1>     __VSCMD_PREINIT_PATH=C:\Program Files\Microsoft MPI\Bin\;D:\Environment\Python310\Scripts\;D:\Environment\Python310\;C:\Program Files\Common Files\Oracle\Java\javapath;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;D:\Program Files\Gui_tool\Bandizip\;D:\Environment\CMake\bin;C:\dev\vcpkg;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;D:\Program Files\Terminal_tool;D:\Program Files\IDE\Microsoft VS Code\bin;D:\Program Files\Gui_tool\Espanso;D:\Environment\msys64\mingw64\bin;D:\Environment\msys64\usr\bin;D:\Program Files\Terminal_tool\Pandoc\;C:\Program Files\dotnet\;D:\Environment\Git\cmd;D:\Program Files\Terminal_tool\doxygen\bin;D:\Program Files\Gui_tool\TortoiseGit\bin;%USERPROFILE%\AppData\Local\Microsoft\WindowsApps;;D:\Program Files\Gui_tool\Espanso
1>     SystemDrive=C:
1>     ProgramFiles(x86)=C:\Program Files (x86)
1>     ProgramW6432=C:\Program Files
1>     PROCESSOR_IDENTIFIER=AMD64 Family 25 Model 80 Stepping 0, AuthenticAMD
1>     TMP=C:\Users\Lenovo\AppData\Local\Temp
1>     PROCESSOR_ARCHITECTURE=AMD64
1>     DriverData=C:\Windows\System32\Drivers\DriverData
1>     PkgDefApplicationConfigFile=C:\Users\Lenovo\AppData\Local\Microsoft\VisualStudio\17.0_abce8af9\devenv.exe.config
1>     USERPROFILE=C:\Users\Lenovo
1>     MSMPI_BENCHMARKS=C:\Program Files\Microsoft MPI\Benchmarks\
1>     ServiceHubLogSessionKey=B5E5BFA7
1>     FPS_BROWSER_APP_PROFILE_STRING=Internet Explorer
1>     FPS_BROWSER_USER_PROFILE_STRING=Default
1>     LOGONSERVER=\\DESKTOP-UVSOCHL
1>     TEMP=C:\Users\Lenovo\AppData\Local\Temp
1>     VCPKG_ROOT=C:\dev\vcpkg
1>     USERNAME=Lenovo
1>     SystemRoot=C:\WINDOWS
1>     VSSKUEDITION=Professional
1>     MSMPI_BIN=C:\Program Files\Microsoft MPI\Bin\
1>     OneDrive=C:\Users\Lenovo\OneDrive
1>     USERDOMAIN_ROAMINGPROFILE=DESKTOP-UVSOCHL
1>     CommonProgramFiles=C:\Program Files\Common Files
1>     VisualStudioDir=C:\Users\Lenovo\Documents\Visual Studio 2022
1>     ProgramData=C:\ProgramData
1>     VSAPPIDDIR=D:\Program Files\IDE\Microsoft Visual Studio\2022\Professional\Common7\IDE\
1>     HOMEPATH=\Users\Lenovo
1>     COMPUTERNAME=DESKTOP-UVSOCHL
1>     ALLUSERSPROFILE=C:\ProgramData
1>     CommonProgramW6432=C:\Program Files\Common Files
1>     ThreadedWaitDialogDpiContext=-4
1>     SignInWithHomeTenantOnly=False
1>     SESSIONNAME=Console
1>     PROCESSOR_REVISION=5000
1>     HOMEDRIVE=C:
1>     windir=C:\WINDOWS
1>     CLASSPATH=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
1>     NUMBER_OF_PROCESSORS=16
1>     OS=Windows_NT
1>     ZES_ENABLE_SYSMAN=1
1>     ProgramFiles=C:\Program Files
1>     ComSpec=C:\WINDOWS\system32\cmd.exe
1>     VSAPPIDNAME=devenv.exe
1>     PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.PY;.PYW
1>     VSLANG=1033
1>     JAVA_HOME=D:\Environment\Java\jdk-18.0.2.1
1>     PSModulePath=C:\Program Files\WindowsPowerShell\Modules;C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules
1>     APPDATA=C:\Users\Lenovo\AppData\Roaming
1>     USERDOMAIN=DESKTOP-UVSOCHL
1>     PROCESSOR_LEVEL=25
1>     LOCALAPPDATA=C:\Users\Lenovo\AppData\Local
1>     VisualStudioVersion=17.0
1>     VisualStudioEdition=Microsoft Visual Studio Professional 2022
1>     CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
1>     PUBLIC=C:\Users\Public
1>     ForceIdentityAuthenticationType=Embedded
1>     TACVIEW_DCS2ACMI_PATH=D:\Program Files\Game\Steam\steamapps\common\Tacview\DCS\
1>     MSBuildLoadMicrosoftTargetsReadOnly=true
1> Command line: "C:\WINDOWS\system32\cmd.exe" /c "%SYSTEMROOT%\System32\chcp.com 65001 >NUL && "D:\PROGRAM FILES\IDE\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMake\bin\cmake.exe"  -G "Ninja"  -DCMAKE_C_COMPILER:STRING="cl.exe" -DCMAKE_CXX_COMPILER:STRING="cl.exe" -DCMAKE_BUILD_TYPE:STRING="Debug" -DCMAKE_INSTALL_PREFIX:PATH="D:/Projects/windev/CMakePA2/out/install/x64-debug"  -DCMAKE_MAKE_PROGRAM="D:\PROGRAM FILES\IDE\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\Ninja\ninja.exe" "D:\Projects\windev\CMakePA2" 2>&1"
1> Working directory: D:/Projects/windev/CMakePA2/out/build/x64-debug
1> [CMake] CMake Error at D:\Projects\windev\CMakePA2\CMakeLists.txt:3 (find_package):
1> [CMake]   Could not find a package configuration file provided by "portaudio" with
1> [CMake]   any of the following names:
1> [CMake] 
1> [CMake]     portaudioConfig.cmake
1> [CMake]     portaudio-config.cmake
1> [CMake] 
1> [CMake]   Add the installation prefix of "portaudio" to CMAKE_PREFIX_PATH or set
1> [CMake]   "portaudio_DIR" to a directory containing one of the above files.  If
1> [CMake]   "portaudio" provides a separate development package or SDK, be sure it has
1> [CMake]   been installed.
1> [CMake] 
1> [CMake] 
1> [CMake] -- Configuring incomplete, errors occurred!
1> [CMake] See also "D:/Projects/windev/CMakePA2/out/build/x64-debug/CMakeFiles/CMakeOutput.log".
1> 'C:\WINDOWS\system32\cmd.exe' '/c "%SYSTEMROOT%\System32\chcp.com 65001 >NUL && "D:\PROGRAM FILES\IDE\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMake\bin\cmake.exe"  -G "Ninja"  -DCMAKE_C_COMPILER:STRING="cl.exe" -DCMAKE_CXX_COMPILER:STRING="cl.exe" -DCMAKE_BUILD_TYPE:STRING="Debug" -DCMAKE_INSTALL_PREFIX:PATH="D:/Projects/windev/CMakePA2/out/install/x64-debug"  -DCMAKE_MAKE_PROGRAM="D:\PROGRAM FILES\IDE\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\Ninja\ninja.exe" "D:\Projects\windev\CMakePA2" 2>&1"' execution failed with error: ''C:\WINDOWS\system32\cmd.exe' '/c "%SYSTEMROOT%\System32\chcp.com 65001 >NUL && "D:\PROGRAM FILES\IDE\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\CMake\bin\cmake.exe"  -G "Ninja"  -DCMAKE_C_COMPILER:STRING="cl.exe" -DCMAKE_CXX_COMPILER:STRING="cl.exe" -DCMAKE_BUILD_TYPE:STRING="Debug" -DCMAKE_INSTALL_PREFIX:PATH="D:/Projects/windev/CMakePA2/out/install/x64-debug"  -DCMAKE_MAKE_PROGRAM="D:\PROGRAM FILES\IDE\MICROSOFT VISUAL STUDIO\2022\PROFESSIONAL\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\CMAKE\Ninja\ninja.exe" "D:\Projects\windev\CMakePA2" 2>&1"' returned with exit code: 1'.
dechamps commented 1 year ago

I believe issues with vcpkg ports should be reported against vcpkg, not here.

That said: it looks like vcpkg uses the PortAudio CMake config mostly untouched. The PortAudio CMake targets use the spelling PortAudio, not portaudio. I'm not quite sure if this stuff is case-sensitive or not, but you may want to try the other spelling.

unbadfish commented 1 year ago

I'm not quite sure if this stuff is case-sensitive or not

The spelling PortAudio doesn't help :cry: . @dechamps

The vcpkg version is 19.7.0#4, which is critically behind the current version.

unbadfish commented 1 year ago

My Apologize First, SORRY to Everyone :bow:

the argument "toolchainFile": "C:/dev/vcpkg/scripts/buildsystems/vcpkg.cmake" should be added to settings. See https://learn.microsoft.com/en-us/cpp/build/cmake-presets-json-reference for more info.

And here is the cmake code

cmake_minimum_required (VERSION 3.8)

project ("CMakePA3")
find_package(portaudio)
if(portaudio_FOUND)
    message(STATUS "PortAudio Major version: " ${portaudio_VERSION})
else()
    message(FATAL_ERROR "PortAudio NOT found!")
endif()

add_executable (CMakePA3 "main.c")
target_link_libraries(CMakePA3 PRIVATE portaudio)
RossBencina commented 1 year ago

My Apologize First, SORRY to Everyone

No dramas. All good mate. But I don't understand the rest of what you wrote. Are these instructions for fixing the problem or additional instructions for reproducing the issue?

RossBencina commented 1 year ago

@unbadfish I've set this to low priority until we get a response from you because we don't understand what's going on.

unbadfish commented 1 year ago

No dramas. All good mate. But I don't understand the rest of what you wrote. Are these instructions for fixing the problem or additional instructions for reproducing the issue?

It is the code to fix it. Also, the argument "toolchainFile": "C:/dev/vcpkg/scripts/buildsystems/vcpkg.cmake" should be added to settings, via. CMakePresets.json or other older settings file.

Sorry about the delay.