Clion导入第三方库所遇到的问题

本文详细描述了在Clion中导入第三方库libxl时遇到的问题,包括未导入dll、函数引用错误以及工具链配置问题,提供了相应的解决方法和注意事项。
摘要由CSDN通过智能技术生成

Clion导入第三方库所遇到的问题

以导入libxl库为例(下载链接:LibXL download

配置CMakeLists.txt文件

cmake_minimum_required(VERSION 3.25)
project(LibXL_TEST)

set(CMAKE_CXX_STANDARD 11)
#声明include、lib路径
set(INC_DIR D:/3_RunningConfig/1_MinGW/libxl-win-4.2.0/libxl-4.2.0/include_cpp)
set(LINK_DIR D:/3_RunningConfig/1_MinGW/libxl-win-4.2.0/libxl-4.2.0/lib64)
#引入头文件、库文件
include_directories(${INC_DIR})
link_directories(${LINK_DIR})
#添加编译文件main.cpp
add_executable(LibXL_TEST main.cpp)
#链接第三方库()
target_link_libraries(LibXL_TEST PUBLIC libxl)

运行cmake之后,可以查看头文件已经加入到项目中了

image-20240106160723940

编写main.cpp程序

#include <iostream>
#include <libxl.h>
using namespace std;
using namespace libxl;
int main() {
    Book* book = xlCreateBook();
    if(book) {
        Sheet *sheet = book->addSheet("Sheet1");
        if(sheet) {
            sheet->writeStr(1, 1, "Hello");
        }
        book->save("Example.xls");
        book->release();
    }
    std::cout << "Hello, World!" << std::endl;
    return 0;
}

导入动态链接库

将libxl中的bin64/libxl.dll文件拷入到项目的可运行文件目录下,此时运行程序,即可成功

image-20240112225457210

遇到的问题

Ⅰ 未导入dll文件时,导致程序异常终止

Process finished with exit code -1073741515 (0xC0000135)

解决思路:导入项目所需要的dll文件到可执行文件(.exe)目录下

Ⅱ 未定义引用的函数(找不到符号定义)

undefined reference to `xlCreateBookA’

原因:所编写的CMakeLists.txt文件错误,连接第三方库时写错了!

# 注意下面的区别,不要用错函数
target_link_libraries(LibXL_TEST PUBLIC libxl)
target_link_directories(LibXL_TEST PUBLIC libxl)

Ⅲ 未找到xxx

…/x86_64-w64-mingw32/bin/ld.exe: cannot find -lxl

原因:工具链配置存在问题(可能是你电脑自行配置的MinGW有错误)

image-20240112223908029

解决思路使用CLion自带的捆绑工具链(CMake的配置也需要多留意)

image-20240112224058543

  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值