我正在使用Visual Studio 2019 IDE用c ++编写自己的minecraft启动器。我希望它是一个跨平台项目。我决定为此使用CMake,但是第三方库存在一些问题。
文件结构
root
|---MyProject
| |---build
| | |---Debug
| | |---Release
| |---include
| | |---MyProject.hpp
| |---src
| | |---MyProject.cpp
| | |---CMakeLists.txt
| |---CMakeLists.txt
|---Vendor
| |---CURL
| | |--- // source downloaded from https://curl.haxx.se/download/curl-7.64.1.tar.gz
| |---CMakeLists.txt
|---CMakeLists.txt
我在Visual Studio解决方案中链接库方面有一些经验,但是我不知道如何在CMake中实现。
我有两个文件夹:
我想将“供应商”中的CMake项目链接到“ MyProject”,以便能够在“ MyProject.cpp”中使用它并进行构建。
用法示例:
'MyProject.hpp':
#pragma once
#include <iostream>
#inlcude "curl/curl.h"
'MyProject.cpp':
int main() {
// Hello World
std::cout << "Hello world" << std::endl;
// Some Curl stuff
CURL* curl;
...
}
我尝试过这样的事情:
add_subdirectory("Vendor/CURL")
include_directories("Vendor/CURL/include")
我是CMake的新手,不知道该怎么做... 我在谷歌上搜索了一个多小时,但没有发现任何东西。 顺便说一句:对不起,我的英语。
答案 0 :(得分:1)
要链接到第三方库,您需要指定库的路径和名称。
我在Visual Studio的链接库方面有一些经验 解决方案,但我不知道如何在CMake中做到这一点。
CMake link_directories
映射到VS Properties->Linker->General->Additional Library Directories
CMake target_link_libraries
映射到VS Properties->Linker->Input->Additional Dependencies
我是CMake的新手,不知道该怎么做。
看看CMake and Visual Studio,它以示例说明在Visual Studio上下文中的CMake。