2017-08-22 120 views
1

我想編譯使用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 ,這有幫助 –

回答

0

通過向PATH變量添加api/lowlevel/libapi/studio/lib來解決。

對kvr的建議的榮譽。