今天我在研究cmake如何使用动态链接库dll的时候遇到了如下问题:
我先编译了一个dll文件,文件源码如下:
#include "stdio.h"
__declspec(dllexport) void hello(){
printf("hello");
}
文件名设为a.dll
然后我又创建了一个可执行程序,其中cmake文件配置如下:
cmake_minimum_required(VERSION 3.24)
project(t1 C)
set(CMAKE_C_STANDARD 23)
link_directories (${PROJECT_SOURCE_DIR}/dll)
add_executable(t1 main.c)
target_link_libraries(${PROJECT_NAME} a.dll)
源文件内容如下:
extern void hello();
int main(){
hello();
return 0;
}
编译的时候没有报错,但是运行的时候却出现了错误:
进程已结束,退出代码-1073741515 (0xC0000135)