您的位置:首页 > 健康 > 美食 > cms监控软件_ppt制作网站推荐_网店如何推广自己的产品_北京做的好的seo公司

cms监控软件_ppt制作网站推荐_网店如何推广自己的产品_北京做的好的seo公司

2025/7/8 10:43:50 来源:https://blog.csdn.net/SimulationPD/article/details/143307264  浏览:    关键词:cms监控软件_ppt制作网站推荐_网店如何推广自己的产品_北京做的好的seo公司
cms监控软件_ppt制作网站推荐_网店如何推广自己的产品_北京做的好的seo公司

【cmake实战六】如何使用编译的库(动态库dll)——windows系统_make windows下生成库-CSDN博客

基于以上文章,遇到的一些问题:
 

一、首先我用vs code  新建了一个项目:TEST   

新增文件:CMakeList.txt

# 设置CMake的最低版本要求为3.8.0 
CMAKE_MINIMUM_REQUIRED(VERSION 3.8.0)
# 设置C++标准为C++14  
set(CMAKE_CXX_STANDARD 14)# 添加一个子目录到构建过程中,该子目录包含构建动态链接库的相关CMake配置和源代码
add_subdirectory(src/dynamicLink/buildDynamicLink)
# 添加另一个子目录到构建过程中,该子目录包含使用已构建的动态链接库的相关CMake配置和源代码
add_subdirectory(src/dynamicLink/useDynamicLink)

二、新建文件夹:src 以及子文件夹:dynamicLink

1、建立子工程:buildDynamicLink,新增haha.h、haha.cpp、CMakeList.txt

CMAKE_MINIMUM_REQUIRED(VERSION 3.8.0)SET(TARGET "haha")#ADD_LIBRARY(haha STATIC haha.cpp)
ADD_LIBRARY(haha SHARED haha.cpp)SET(EXECUTABLE_OUTPUT_PATH "${PROJECT_SOURCE_DIR}/lib")
SET(LIBRARY_OUTPUT_PATH "${PROJECT_SOURCE_DIR}/lib")

2、新建build文件,并在build文件夹下 使用命令 cmake..

3、vs 打开 sln文件(笨方法)

3、重新生成dll

4、建立子工程:useDynamicLink,新增main.cpp、CMakeLists.txt
 

#include<iostream>
#include<windows.h>
using namespace std;
void loadDll(const std::wstring& dllname, HMODULE& handle)
{//handle = (handle_t)::LoadLibrary(dllname.c_str());handle = (HMODULE)::LoadLibraryW(dllname.c_str());
}bool freeDll(HMODULE& handle)
{bool re = FreeLibrary(handle);return re;
}
int main()
{cout<<"hello world"<<endl;//handle_t handle = nullptr;HMODULE handle = nullptr;loadDll(L"F:\\C236\\01_CYTools\\src\\dynamicLink\\buildDynamicLink\\lib\\Debug\\haha.dll", handle);if (nullptr == handle){cout << "fail to load dll" << endl;}cout << "sucess to load dll" << endl;typedef void (*print)();print hahafunc=(print)GetProcAddress(handle, "haha");hahafunc();bool re = freeDll(handle);if (re){cout << "success to unload dll" << endl;}return 0;
}

ps:注意修改路径 

CMAKE_MINIMUM_REQUIRED(VERSION 3.8.0)PROJECT(NEWHELLO)ADD_EXECUTABLE(hello main.cpp)SET(EXECUTABLE_OUTPUT_PATH "${PROJECT_SOURCE_DIR}/lib")
SET(LIBRARY_OUTPUT_PATH "${PROJECT_SOURCE_DIR}/lib")

5、新建build文件,并在build文件夹下 使用命令 cmake..

6、重新生成

三、在exe文件夹下,输入 .\Hello.exe 运行

四、demo工程



https://download.csdn.net/download/SimulationPD/89930207

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com