为什么 visual studio 找不到 soundio.h?
Why doesn't visual studio find soundio.h?
我一直在使用 visual studio 19 和 cmake。最初的 objective 是将 link spdlog 和 libsoundio 库添加到我的项目中,为了实现它,创建了以下 CMakeFile 来编译我的项目。
cmake_minimum_required (VERSION 3.8)
set(APPNAME DrumHero)
project($APPNAME)
#C++ version
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED True)
set(SOURCES src/drumhero.cpp)
set(HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/include/drumhero.h)
set(DEPENDENCIES_LIBS spdlogd libsoundio)
link_directories("C:/Program\ Files/libsoundio/lib" "C:/Program\ Files/spdlog/lib")
include_directories("C:/Program\ Files/libsoundio/include" "C:/Program\ Files/spdlog/include")
add_executable (${APPNAME} ${SOURCES} ${HEADERS})
target_link_libraries(${APPNAME}
PUBLIC ${DEPENDENCIES_LIBS})
set_target_properties(${APPNAME} PROPERTIES
PUBLIC_HEADER "${HEADERS}")
所有库都已安装并位于程序文件中。
我复制了example program from libsoundio,但是visual studio显示了一些与libsoundio相关的错误,似乎是visualstudio找不到该库,如下图所示的错误:
最奇怪的是代码可以编译,但是执行.exe时会显示以下信息:
翻译:
无法继续执行代码,因为未找到 libsoundio.dll。重新安装程序以解决问题。
为什么找不到 libsoundio?
如果您的代码已成功编译,您有两个选择:将 libsoundio.dll
复制到与 .exe
相同的文件夹中,或者将该 DLL 复制到典型的 Windows DLL 的路径,例如 C:\Windows\System32
.
如果您想将应用程序部署到另一台计算机,第一种方法应该更容易。这就是 Windows 的软件作为安装程序分发的原因,它在您的机器中创建一个文件夹并复制多个文件,有时是 DLL,与 .EXE
的路径相同
我一直在使用 visual studio 19 和 cmake。最初的 objective 是将 link spdlog 和 libsoundio 库添加到我的项目中,为了实现它,创建了以下 CMakeFile 来编译我的项目。
cmake_minimum_required (VERSION 3.8)
set(APPNAME DrumHero)
project($APPNAME)
#C++ version
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED True)
set(SOURCES src/drumhero.cpp)
set(HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/include/drumhero.h)
set(DEPENDENCIES_LIBS spdlogd libsoundio)
link_directories("C:/Program\ Files/libsoundio/lib" "C:/Program\ Files/spdlog/lib")
include_directories("C:/Program\ Files/libsoundio/include" "C:/Program\ Files/spdlog/include")
add_executable (${APPNAME} ${SOURCES} ${HEADERS})
target_link_libraries(${APPNAME}
PUBLIC ${DEPENDENCIES_LIBS})
set_target_properties(${APPNAME} PROPERTIES
PUBLIC_HEADER "${HEADERS}")
所有库都已安装并位于程序文件中。
我复制了example program from libsoundio,但是visual studio显示了一些与libsoundio相关的错误,似乎是visualstudio找不到该库,如下图所示的错误:
最奇怪的是代码可以编译,但是执行.exe时会显示以下信息:
翻译: 无法继续执行代码,因为未找到 libsoundio.dll。重新安装程序以解决问题。
为什么找不到 libsoundio?
如果您的代码已成功编译,您有两个选择:将 libsoundio.dll
复制到与 .exe
相同的文件夹中,或者将该 DLL 复制到典型的 Windows DLL 的路径,例如 C:\Windows\System32
.
如果您想将应用程序部署到另一台计算机,第一种方法应该更容易。这就是 Windows 的软件作为安装程序分发的原因,它在您的机器中创建一个文件夹并复制多个文件,有时是 DLL,与 .EXE