MinGW,链接到 Windows 上的 dll

Coo*_*kie 3 c++ windows dll gcc mingw

我正在尝试在示例程序中使用从相机供应商那里收到的库。我有一个 .dll 和一个库的 .lib 文件。我的编译命令是:

g++  -o "Win32App.exe" -L"..\..\SK develop\SK91GigE-WIN\Lib" obj/winmain.o obj/callbacks.o obj/resource.o -s -lcomctl32 -Wl,--subsystem,windows -lSK91GigE_x64
Run Code Online (Sandbox Code Playgroud)

我得到:

obj/winmain.o:winmain.cpp:(.text+0x292): undefined reference to `SK_LOADDLL'
collect2.exe: error: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)

用 nm 查看 .lib 显示:

BFD: SK91GigE_x64.lib(SK91GigE_x64.dll): Recognised but unhandled machine type (0x8664) in Import Library Format archive 
nm: SK91GigE_x64.dll: File format not recognized
Run Code Online (Sandbox Code Playgroud)

对于 dll,它输出:

nm: SK91GigE_x64.dll: File format not recognized
Run Code Online (Sandbox Code Playgroud)

任何想法如何修改该库以包含它?

Coo*_*kie 5

windows 路径变量指向 32 位 MinGW。设置到 64 位版本的 MinGW 的路径解决了这个问题。我没有检查