将 dll/lib 链接到 cmake 项目

Dmq*_*Csm 6 c++ dll cmake linker-errors

我试图将一个库链接到我的 cmake 项目,但我收到了链接器错误。我花了 2 个小时试图解决这个问题,并创建了一个简单的项目,其中我对所有路径进行了硬编码。

CMAKE_MINIMUM_REQUIRED(VERSION 3.0)
PROJECT(Testing CXX)

INCLUDE_DIRECTORIES("B:/Projects/TMH/Libraries/Awesomium/inc")

SET(SOURCE_FILES
        src/Main.cpp
        src/Application.cpp
        src/Window.cpp
)

ADD_EXECUTABLE(Testing ${SOURCE_FILES})

TARGET_LINK_LIBRARIES(Testing B:/Projects/TMH/Libraries/Awesomium/bin/awesomium.dll)
Run Code Online (Sandbox Code Playgroud)

但即使该代码也无法编译并引发如下链接器错误:

CMakeFiles\Testing.dir/objects.a(Application.cpp.obj): In function `ZN9PXLClient11ApplicationD2Ev':
B:/Projects/TMH/Testing/src/Application.cpp:15: undefined reference to `_imp___ZN9Awesomium7WebCore8ShutdownEv'
CMakeFiles\Testing.dir/objects.a(Application.cpp.obj): In function `ZN9PXLClient11Application3RunEv':
B:/Projects/TMH/Testing/src/Application.cpp:20: undefined reference to `_imp___ZN9Awesomium9WebConfigC1Ev'
Run Code Online (Sandbox Code Playgroud)

我要么尝试链接 .lib 文件而不是 .dll 文件。我变了

TARGET_LINK_LIBRARIES(Testing B:/Projects/TMH/Libraries/Awesomium/bin/awesomium.dll)
Run Code Online (Sandbox Code Playgroud)

TARGET_LINK_LIBRARIES(Testing B:/Projects/TMH/Libraries/Awesomium/lib/Awesomium.lib)
Run Code Online (Sandbox Code Playgroud)

但我得到了完全相同的错误。我 100% 确定两条路径都是正确的。

如何将 dll/lib 正确链接到 cmake 项目?