vc写的dll被mingw的g++编译引用

Posted yuanxiaoping_21cn_com

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vc写的dll被mingw的g++编译引用相关的知识,希望对你有一定的参考价值。

dll.cpp,用vc2017编译

#include <iostream>
#include <windows.h>

extern "C" __declspec(dllexport) void Go() {
  std::cout << "go" << std::endl;
}

BOOL APIENTRY DllMain( HMODULE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}

main.cpp 用mingw64的g++编译

#include <iostream>

extern "C" __declspec(dllimport) void Go();
int main (int argc, char **argv)
{ 

  Go();
  return 0;
}

将dll.lib dll.dll dll.exp dll.pdb复制到main.cpp当前目录,编译:

g++ main.cpp -ldll -L.

 

以上是关于vc写的dll被mingw的g++编译引用的主要内容,如果未能解决你的问题,请参考以下文章

mingw和gcc的关系?mingw具有gcc的全部核心编译功能吗

MinGw与VC++6.0的区别有那些

cmake:让mingw(gcc)生成MSVC可用的dll(.lib)----mark亲测有效

mingw和gcc的关系?mingw具有gcc的全部核心编译功能吗

用mingw32 gcc 一编译就出一大堆错误,应该怎么解决

C编程中MinGW(代码块)和VC ++ 6.0编译器之间的结果不匹配