gpt4 book ai didi

c++ - 如何在 Windows 上链接动态构建的 cmake 文件?

转载 作者:行者123 更新时间:2023-11-30 04:42:05 29 4
gpt4 key购买 nike

在过去的 8 小时里,我一直在努力寻找有关如何在使用 CMake 构建的 Windows 上的 C 项目中引用库的信息,特别是 cURL。

我已经从网站下载了 7.67 版 cURL 源代码,然后使用 visual studio developer 命令提示符使用以下标准方法将 CMake 项目编译到构建文件夹中:

cd winbuild
nmake /f Makefile.vc mode=dll

输出三个 curl 文件夹,其中一个名为“libcurl-vc-x86-release-dll-ipv6-sspi-winssl”。该文件夹中包含一个 lib、一个 bin 和一个 include 文件夹。

我用 CLion 构建了我的 C 项目,这是生成的 CMake 文件。

cmake_minimum_required(VERSION 3.15)
project(hello_world C)

set(CMAKE_C_STANDARD 99)

add_executable(hello_world main.c)

如何使用 CMake 在我的 C 项目中正确使用我编译的 CURL?

最佳答案

我终于解决了这个问题,方法是在 C: 目录下创建一个 cmake 文件夹,然后复制到构建的 curl CMake 项目文件夹中。

问题是我没有找到任何关于如何在 Windows 上为 CMake 引用项目的具体教程,特别是 curl 项目。

幸运的是,我发现这篇文章指出了我在分别引用包含文件夹和 .lib 目录时遇到的问题。 How to link shared library *dll with CMake in Windows

cmake_minimum_required(VERSION 3.15)
project(hello_world C)

set(CMAKE_C_STANDARD 99)

include_directories("C:/cmake/libcurl-vc-x86-release-dll-ipv6-sspi-winssl/include")
link_directories("C:/cmake/libcurl-vc-x86-release-dll-ipv6-sspi-winssl/lib")

add_executable(hello_world main.c)

set( LIBS libcurl )
target_link_libraries(hello_world ${LIBS} )

现在代码编译并成功运行。不过,我不认为这是执行此操作的正确方法,我们将不胜感激。

关于c++ - 如何在 Windows 上链接动态构建的 cmake 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58904952/

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