我更特别地使用MinGW32 TDM-GCC-32。我有一个非常简单的项目,我链接到一个自定义库,但这个错误弹出:
.progress-basic
我用来构建库的命令:
border-radius: inherit;
我想我必须使用不同的选项来编译库以避免重新定义..
答案 0 :(得分:1)
我认为dlltool
方法目前已被弃用。我不能在这里指责你,因为大多数可用的文档仍然这样说。
Gcc将直接与.dll
文件链接,使.a
文件过时(至少在处理dll时 - 使用.a
文件的唯一当前原因是静态链接)。您甚至不必使用-l
标志指定dll,但如果它不在当前目录中则必须指定dll的路径
C:\Users\burito>gcc main.o opengl32.dll -o main.exe
gcc: error: opengl32.dll: No such file or directory
C:\Users\burito>gcc main.o c:\Windows\system32\opengl32.dll -o main.exe
C:\Users\burito>
好的,opengl32.dll
可能不是一个很好的例子,但我希望我已经给了你一般的想法。
我相信 MSVC仍然需要.lib
个文件才能使用.dll
,如果库中没有g++ -D_WIN32 -D_MINGW -lgdi32 -lgdiplus interception/x86/interception.dll main.cpp -o interceptor.exe
,可以通过多种方式制作它们。
在您的特定情况下,应该起作用的命令是......
.a
如果出于某种原因你真的需要从.dll
创建一个gendef interception.dll
dlltool -l interception.a -d interception.def -k -A
文件,那么对我有用的命令是......
.dll
由于您链接的存储库确实在其版本中提供了injectIntl<any>
个文件,因此您不必自己构建它们