在cygwin中可以用gcc创建动态链接库(dll),其命令写法是:
gcc -shared -o liberr.dll \
-Wl,--out-implib=liberr.dll.a \
-Wl,--export-all \
-Wl,--enable-auto-image-base \
-Wl,--output-def=liberr.def \
liberr.o
其中, liberr.dll为得到的动态链接库,liberr.dll.a为该DLL的导入库,liberr.def为DLL的符号定义文件,liberr.o为创建该DLL所用到的目标文件,(可以有多个)。
在cygwin中可以把应用程序目标文件和liberr.dll.a链接以产生最终的可执行文件。得到的可执行文件,只能在cygwin中执行。
如何将得到的DLL以及相应的导入库(liberr.dll.a)和符号定义文件在Visual C++环境中使用,这是一个问题,尚未得到解决。
gcc -shared -o liberr.dll \
-Wl,--out-implib=liberr.dll.a \
-Wl,--export-all \
-Wl,--enable-auto-image-base \
-Wl,--output-def=liberr.def \
liberr.o
其中, liberr.dll为得到的动态链接库,liberr.dll.a为该DLL的导入库,liberr.def为DLL的符号定义文件,liberr.o为创建该DLL所用到的目标文件,(可以有多个)。
在cygwin中可以把应用程序目标文件和liberr.dll.a链接以产生最终的可执行文件。得到的可执行文件,只能在cygwin中执行。
如何将得到的DLL以及相应的导入库(liberr.dll.a)和符号定义文件在Visual C++环境中使用,这是一个问题,尚未得到解决。

浙公网安备 33010602011771号