在运行时链接外部库

时间:2017-08-22 23:05:52

标签: c++ cmake linker fmod

我要尝试编译使用FMOD和CMake的简单程序。编译似乎没问题,但我的应用程序崩溃了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") ,这是STATUS_DLL_NOT_FOUND

我的CMakeList.txt

export class AppComponent {
    constructor(private router: Router, private historyService: HistoryService) {
        this.router.events
            .filter(e => e instanceof NavigationEnd)
            .subscribe((routerEvent) => {
                console.log('Storing History Entry: ', routerEvent);
                this.historyService.saveEntry( this.shared.service.getMyVar());
);
            });
    }
}

这是我的cmake配置或环境的问题吗? 我应该将DDL放在某个特定的地方,还是在CMakeLists.txt旁边提供它们的路径?

1 个答案:

答案 0 :(得分:0)

通过将api/lowlevel/libapi/studio/lib添加到PATH变量来解决此问题。

向kvr提出建议。