微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

CLion 内置的库无法动态连接到另一个项目

如何解决CLion 内置的库无法动态连接到另一个项目

我在 CLion IDE 中工作。我需要获取共享库 (.dll)。为此,我在文件 .cpp 中编写了一些代码。 h,和 CMakeLists.txt。项目构建成功 - 我得到了我的库中带有 .dll 扩展名的珍贵文件

接下来,我有一个可以动态加载库的程序。因此,例如,我可以加载我计算机中的任何一个 .the dll 库。所以我可以自信地说这个程序运行正常。但是,我无法加载自己的 CLion 内置库:出现错误

请告诉我,可能是什么问题?

1.图书馆.h

#pragma once

#define MY_LIB extern "C" __declspec(dllexport)

MY_LIB void testa(int a);
MY_LIB bool testb();

2. library.cpp

#include "library.hpp"
#include <iostream>

void testa(int a) {
    std::cout << "The function A called" << std::endl;
}

bool testb() {
    std::cout << "The function B called" << std::endl;
    return true;
}

3. CMakeLists.txt

cmake_minimum_required(VERSION 3.5)

project (cmake_example_4_shared)

set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++1y -Wall")


#-------------------- Create a library -----------------------------------------
#Generate the shared library from the library sources
#-------------------------------------------------------------------------------

include_directories("${PROJECT_SOURCE_DIR}/include")

add_library(${PROJECT_NAME}_lib
        SHARED
        src/library.cpp
        )

4.我的构建成功的证明

Scanning dependencies of target cmake_example_4_shared_lib
[ 50%] Building CXX object CMakeFiles/cmake_example_4_shared_lib.dir/src/library.cpp.obj
[100%] Linking CXX shared library libcmake_example_4_shared_lib.dll
[100%] Built target cmake_example_4_shared_lib

非常感谢!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。