连接第三方库

本文最后更新于 2024年9月18日 晚上

连接第三方库

cpp引用

对于想直接通过引用.cpp文件来使用文件中定义的函数,我们只需要通过命令

1
2
#cmake为project的名称
add_executable(cmake main.cpp longint.cpp)

即可建立连接,这时只需在main.cpp添加

1
include"longint.cpp"

就可以使用“longint.cpp”中定义的函数和全局变量

头文件引用

头文件引用我们需要准备“longint.h”的头文件,并确保“longint.cpp”中的函数都在“longint.h”中声明。 注意:如果声明全局变量请在longint.h中声明。

1
2
3
4
5
6
7
8
#先生成可执行文件
add_executable(cmake main.cpp longint.cpp)
#引入库
include_directories(include)
#创建静态库(生成在build文件下)
add_library(TEST_LIBRARY longint.cpp)
#连接文件
target_link_libraries(cmake LINK_PUBLIC TEST_LIBRARY)

调用库

1
#pragma comment(lib,"xx.lib")

在"main.cpp"引入“longint.h”就可以使用其中的函数了。

二进制文件位置

设置单独的.exe,.dll,.lib在bin,lib目录

1
2
3
4
5
6
7
set(dir ${CMAKE_CURRENT_SOURCE_DIR})  

set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${dir}/lib")

set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${dir}/lib")

set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${dir}/bin")

一键连接

1
2
3
4
5
6
7
aux_source_directory(./Src CPP_LIST) #搜集所有在指定路径下的源文件的文件名,并将输出结果列表储存在指定的变量中。  
aux_source_directory(./Inc H_LIST)
# FILE(GLOB SC_FILES "./Src/*.cpp" "./Inc/*.h")
add_executable(CIntCalculate ${CPP_LIST} ${H_LIST})
include_directories(./Inc)
add_library(LIB_TEXT ${CPP_LIST})
target_link_libraries(CIntCalculate LINK_PUBLIC ${LIB})

连接第三方库
http://example.com/posts/37189/
作者
晓寒
发布于
2022年12月24日
许可协议