【发布时间】:2019-08-11 13:34:40
【问题描述】:
我有一个最初用 Linux 编写的 c++ 程序。该程序使用库 libzip 中的函数:
我现在在 Visual Studio 2017 中的基于 Windows 的平台上工作。一切正常,因为我基本上可以使用与在 Linux 平台上使用的相同的 cmake 文件。但是,在 Linux 中,我使用包管理器来安装 libzip。我在 Windows 中没有该选项。我不知何故需要为 libzip 构建一个 Windows 版本,并将文件(头文件和 lib 文件)包含在我的 CMakeLists.txt 文件中。有人可以为此提供分步指南吗?
【问题讨论】:
-
Can someone help me with a step-by-step guide for this?- 此类问题的站点错误。由于您已经在 Windows 中拥有 CMake 项目,因此您应该具备如何构建它的基本知识。为什么不将知识应用于libzip项目?如果你会得到一些具体的错误,你可以在这里问(但在问之前先谷歌)。 -
嗨。我已经知道如何建造了。如果我删除所有对 libzip 的引用,它就会起作用。当我尝试使用 libzip 的函数时,我得到以下类型的错误:致命错误 LNK1120:7 未解决的外部。在 CMakeLists.txt 文件中,我添加了 set(LIBZIP_LIBRARY "xx") set(LIBZIP_INCLUDE_DIR "xx") 其中“xx”是我构建的头文件和 libzip 的 lib 文件的正确目录。
-
好吧,所以问题不在于构建 libzip,而在于将它用于您的项目。 “未解决的外部问题”表示您忘记与库链接。请参阅 that question 关于在 CMake 中链接到库的信息。
标签: c++ cmake visual-studio-2017 runtime libzip