环境:win10+VS Code + cmake
自己生成一个外部库
我们首先自己生成一个库,叫mylib.lib
注意这是单独的一个项目
CMakeLists.txt
cmake_minimum_required(VERSION 3.20)
project(buildLib)
add_library(mylib STATIC mylib.cpp)
mylib.cpp
#include <iostream>
void callMyLib()
{
std::cout<<"called my lib!\n";
}
mylib.h
void callMyLib();
引入自己生成的外部库
注意这又是一个另外的项目,和之前没有关系。
把之前生成的mylib.lib和mylib.h拷贝到这个项目里面,位置如下
CMakeLists.txt (重点)
cmake_minimum_required(VERSION 3.20)
project(linkLib)
include_directories(${PROJECT_SOURCE_DIR}/myLib/include)
link_directories(${PROJECT_SOURCE_DIR}/myLib/lib)
add_executable(main main.cpp)
target_link_libraries(main mylib.lib)
include_directories(${PROJECT_SOURCE_DIR}/myLib/include)
添加头文件目录
link_directories(${PROJECT_SOURCE_DIR}/myLib/lib)
添加库目录
add_executable(main main.cpp)
编译main.exe
target_link_libraries(main mylib.lib)
把mylib.lib链接到main.exe
main.cpp
#include <iostream>
#include "mylib.h"
int main()
{
callMyLib();
return 0;
}
运行结果