Arthur Bergman abergman@fotango.com writes:
I have been trying to develop an application using a vendor provided dll from an external vendor to work under linux. If we develop the app on a windows box and move it over to the wine environment it works, but it would be preferable to have a more native approach. So I tried using winelib and have progressed to a point where I have an application that compiles using the vendor supplied header files under gcc, and a vendor.dll.spec file that describes the DLL. However when I compile everything, the generated vendor.dll.so file does contain the correct symbols but they are undefined. Having played around using winemaker and winedump while trying to read up everything on winelib I am now stuck and not sure how to proceed forward.
You shouldn't compile to a .dll.so since you don't have the dll code. What you should do is generate a libvendor.def from the spec file (with winebuild --def) and then link your app as a winelib app, adding -lvendor to the import list. winebuild will then resolve the symbols properly to point to the native dll.