如何在Windows上链接动态构建的cmake文件
How do I link dynamically built cmake files on Windows?
在过去的8个小时里,我一直在努力寻找如何在使用CMake构建的Windows上的C项目中引用库的信息,特别是cURL。
我已经从网站上下载了7.67版本的cURL源,然后使用visual studio开发者命令提示符,使用标准方法将CMake项目编译到构建文件夹中
cd winbuild
nmake /f Makefile.vc mode=dll
它输出三个curl文件夹,其中一个名为"libcurl-vc-x86-release-dll-ipv6-sspi-winsl"。在该文件夹中包含一个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项目。
幸运的是,我找到了这篇文章,它详细说明了我在分别引用include文件夹和.lib目录时遇到的问题。如何在Windows 中将共享库*dll与CMake链接
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} )
现在,代码编译并成功运行。我不认为这是正确的方法,但任何帮助都将不胜感激。
相关文章:
- libssh 的函数在构建 libssh 时无法在 Qt 和 cmake 错误中找到
- 使用cmake从源代码构建MySQL连接器/C++失败(与以前的声明冲突)
- 将 OpenCV 与 CMAKE 中的项目一起构建为第三方库的正确方法
- 使用 cmake 的 LLVM 构建在 tsan_libdispatch_mac.cc 期间失败; "Error: conflicting types for ..."
- CMake WxWidgets项目成功地在Linux上构建,但没有在Windows上构建
- 用CMake构建C++协议
- Clion显示错误,但可以使用Cmake成功构建代码
- 在OSX上使用CMake将Adobe的XMP工具包构建为共享库的最简单方法是什么?
- 最小的CMake构建为Android
- 尝试将 boost::stacktrace 添加到 CMake 项目时出现构建错误
- 在Cmake构建CmakeList.txt中读取/解析XML文件
- 以现代 CMake 方式控制包含的库中的构建选项(测试等)
- 在现有的C++可执行项目CMAKE中构建Apache Arrow
- 如何使用CPack打包多个cmake构建结果?
- 如何使用 CMake 在 android 构建上编译和共享两个 c++ 库
- Vcpkg Pango CMake 构建失败缺少头文件
- 使用Protobuf构建CMAKE项目
- 错误:在 mingw64 上构建 cmake+boost 项目时'GetSystemTimeAsFileTime'的类型冲突
- 如何在配置主项目的同时构建cmake ExternalProject
- 在构建CMake时使用非默认的libstdc++