在Windows的CLion/CMake中,APP.exe如何找到lib/A.dll以便运行?

3
我有一个CLion/CMake项目,需要使用外部DLL库A.dll,我将其放置在项目的lib/目录下。在构建可执行文件后,当我运行APP.exe时,会提示找不到或无法使用lib/A.dll。如何解决这个问题?

构建成功后,您是否移动了可执行文件? - Shihe Zhang
3个回答

2

我知道这个教程并且已经添加了.dll文件,但显然我没有使用正确的命令。我使用的命令在编译链接步骤中表现良好,但在运行时步骤中却不行,例如在CLion中按下“运行”按钮时。 - gknauth
1
我不是在尝试构建一个没有可执行文件的库。我正在尝试运行一个使用外部.dll的可执行文件,我希望当我在CLion中按下“运行”时,这个项目能够找到它。 - gknauth

0
通常我会将 D:/path/to/lib/A.dll 添加到路径中,可以通过编辑用户或系统环境变量来全局设置,也可以创建一个小批处理文件,设置路径以及 CMAKE_PREFIX_PATH 等,然后可能会启动像 cmake-gui.exe 或 devenv.exe 这样的程序。

谢谢,我会看一下的。 - gknauth

0

如果你正在询问在CMake中导入已有的库,这个链接可能会对你有所帮助。 你可能需要在你的CMakeList.txt中加入以下代码:

# Create an IMPORTED library 
add_library(A IMPORTED)
# Set IMPORTED_LOCATION *property* for this target
set_target_properties(SimpleAmqpClient PROPERTIES
    IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/lib/A.dll)
# Then use library *target* for linking with
target_link_libraries(APP PUBLIC A)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接