Я прочитал много постов, и все же я не понимаю, как создать простую динамическую библиотеку c на windows с использованием MSV C в командной строке. Что я делаю:
1º) Код DLL
Dynami c .h
#pragma once
__declspec(dllexport) void HelloWorld();
Dynami c. c
#include "dynamic.h"
#include <stdio.h>
void HelloWorld(){
printf("Hello World");
}
2º) Скомпилируйте его
cl /LD dynamic.c
(он компилируется правильно и без ошибок, генерируя Dynami c .dll и Dynami c .lib)
3о) Попробуйте проверить его
1021 *
главный. c #include<stdio.h>
#include"dynamic.h"
int main(){
HelloWorld();
return 0;
}
cl main.c dynamic.lib
ERROR (by cl.exe x64)
main.cpp
Microsoft (R) Incremental Linker Version 14.16.27034.0
Copyright (C) Microsoft Corporation. All rights reserved.
/out:main.exe
main.obj
.\dynamic.lib
main.obj : error LNK2019: unresolved external symbol "void __cdecl HelloWorld(void)" (?HelloWorld@@YAXXZ) referred in main
main.exe : fatal error LNK1120: unresolved externals
Пожалуйста, научите меня, как на самом деле работает компиляция динамических c библиотек, потому что я не понимаю