在运行时链接外部库

问题描述:

我想编译使用FMOD和CMake的简单程序。编译似乎是正常的,但我与0xC0000135应用程序崩溃是STATUS_DLL_NOT_FOUND在运行时链接外部库

我CMakeList.txt

cmake_minimum_required(VERSION 3.7) 
project(fmod-test) 

set(FMOD_DIR "D:/FMOD SoundSystem/FMOD Studio API Windows") 
set(CMAKE_CXX_STANDARD 11) 

set(SOURCE_FILES main.cpp) 

add_executable(fmod-test ${SOURCE_FILES}) 

include_directories(${FMOD_DIR}/api/lowlevel/inc ${FMOD_DIR}/api/studio/inc) 

link_directories("${FMOD_DIR}/api/lowlevel/lib" "${FMOD_DIR}/api/studio/lib") 
target_link_libraries(fmod-test 
    "${FMOD_DIR}/api/lowlevel/lib/fmod_vc.lib" 
    "${FMOD_DIR}/api/studio/lib/fmodstudio_vc.lib") 

这是我的cmake配置或环境问题? 我应该把DDL放在一些特定的地方,还是在旁边的CMakeLists.txt旁边提供路径给他们?

+1

不是一个windows的家伙,但作为第一枪尝试把dll放在可执行文件旁边,如果我没有记错,那是windows的第一个地方。我不知道如何设置DLL的其他搜索路径 – ted

+1

还可以更新'路径'环境变量,以包括DLL的路径,如果exe是在不同的位置 - 你想保持跟踪虽然,尽量避免DLL地狱 – kvr

+0

谢谢krv ,这有帮助 –

通过向PATH变量添加api/lowlevel/libapi/studio/lib来解决。

对kvr的建议的荣誉。