vscode + cmake 链接第三方库dll编译c++成exe文件

一、下载插件

装好CMake和CMake tools之后,vscode下方会有Build和CMake【Debug】 

 

二、项目目录

 

settings.json文件中加入cmake的path

{
    "clang.cflags":[
        "-I${workspaceRoot}/include"
    ],
    "python.pythonPath": "D:\\AppData\\anaconda3\\python.exe",
    "C_Cpp.updateChannel": "Insiders",
    "cmake.configureOnOpen": true,
    "explorer.confirmDelete": false,
    "cmake.cmakePath": "D:\\AppC++\\cmake-3.9.0\\bin\\cmake.exe"
}

 

三、编写CMakeLists.txt

CMakeLists.txt文件

# 最低CMake版本要求
cmake_minimum_required(VERSION 3.9.0)

# 项目名称,编译好dll或exe的名称
project(XCDNN)

# 设置C/C++标准
set(CMAKE_C_STANDARD 11)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

# 头文件路径
include_directories("include" "D:\\AppC++\\opencv-4.1.2\\opencv\\build\\x64\\MinGW\\install\\include")
include_directories("include" "D:\\AppC++\\package_c++")
include_directories("include" "./3rd")

# 枚举头文件
file(GLOB_RECURSE INCLUDES "include/*.h" "include/*.hpp" "include/*.cpp")

# 指定引用的外部库的搜索路径
LINK_DIRECTORIES("D:\\AppC++\\opencv-4.1.2\\opencv\\build\\x64\\MinGW\\lib")
LINK_DIRECTORIES("./3rd")

# 枚举源文件
aux_source_directory("./src" SOURCES)

# 输出路径
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)

# 生成可执行的文件
add_executable(${PROJECT_NAME} ${SOURCES} ${INCLUDES})

# 链接
TARGET_LINK_LIBRARIES(${PROJECT_NAME} 
tensorflow.dll
XCDNN.dll
libopencv_calib3d412.dll.a
libopencv_core412.dll.a
libopencv_dnn412.dll.a
libopencv_features2d412.dll.a
libopencv_flann412.dll.a
libopencv_highgui412.dll.a
libopencv_imgcodecs412.dll.a
libopencv_imgproc412.dll.a
libopencv_ml412.dll.a
libopencv_objdetect412.dll.a
libopencv_photo412.dll.a
libopencv_stitching412.dll.a
libopencv_ts412.dll.a
libopencv_video412.dll.a
libopencv_videoio412.dll.a
)


 

 

在Visual Studio Code (VSCode) 中引入`libmodbus`第三方库一般需要以下步骤: 1. **下载库**:首先从`libmodbus`的官方网站或者其他可信源下载对应平台的预编译二进制库(如`.so`, `.a` 或 `.dll`)和头文件(`libmodbus.h` 等)。 2. **添加库到项目**: - 对于C/C++项目:将库文件放入项目的`src`或`lib`目录下,然后在VSCode的`settings.json`或CMakeLists.txt中添加链接器搜索路径,告诉编译器从哪里寻找库。 - 如果是Windows,`dll`文件放在`Debug`或`Release`子目录下,并在项目属性或VSCode任务里设置`additionalLibraryDirectories`指向这个目录。 - 使用CMake的话,可以在CMakeLists.txt中添加`target_link_libraries`指令指定库。 3. **引用头文件**:在C/C++代码中包含`libmodbus.h`,例如: ```c #include <libmodbus/modbus.h> ``` 4. **设置编译器标志**:如果库是动态链接的(如`.so`或`.dll`),可能还需要设置`-lmodbus`或其他特定标志。如果是静态链接,则不需要这个步骤。 5. **编译测试**:保存更改后,在VSCode中创建新的C/C++任务,配置好构建工具(如CMake, gcc, clion build system等),尝试编译并运行程序,看是否能链接和使用`libmodbus`的功能。 6. **调试**:如果遇到编译错误,可能是链接路径、库文件版本或头文件导入的问题,排查并调整设置。 记住,每个项目的具体设置可能会有所不同,这取决于你的项目结构、使用的构建系统和个人喜好。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值