gpt4 book ai didi

c++ - Windows 上的 Cmake,加载静态库

转载 作者:行者123 更新时间:2023-11-28 05:09:40 25 4
gpt4 key购买 nike

我正在为我的 qt5 应用程序准备 Windows 构建,但我在加载静态库 .lib 时遇到问题。我的应用程序使用 3d 引擎,最初是在 linux (gcc+cmake) 上构建的,现在在 Windows 上我正在尝试使用 msvc+cmake。 3d 引擎静态库称为 engined.lib。为了加载库,我做了类似的事情:

SET(CMAKE_FIND_LIBRARY_PREFIXES "")
SET(CMAKE_FIND_LIBRARY_SUFFIXES ".lib" ".dll")
find_library(engine NAMES engined PATHS path_to_lib)
target_link_libraries(${PROJECT_NAME}
Qt5::Widgets
Qt5::OpenGL
Qt5::Xml
engine)

但是在过程编译过程中存在错误,例如在我加载标题的 cpp 文件中:

#include "engine/Engine.h"

但是,msvc 看不到 .h 文件,我有错误。我做错了什么?

最佳答案

您正在链接库,但您仍需要配置 CMake 以便找到引擎的 header 。一种方法是通过缓存变量设置 header 的位置:

# CMakeLists.txt
set(ENGINE_INCLUDE_DIR "" CACHE PATH "Include directory")
target_include_directories(engine PRIVATE ${ENGINE_INCLUDE_DIR})

并在配置构建目录时设置变量:

cmake -DENGINE_INCLUDE_DIR=/path/to/include/dir /path/to/project

关于c++ - Windows 上的 Cmake,加载静态库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43777954/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com