Ok. Clear, thanks. 2015-02-02 16:56 GMT+03:00 Christian Kandeler < [email protected]>:
> On 02/01/2015 08:35 PM, Denis Shienkov wrote: > > Ahhh... Seems, it works with "dynamiclibrary_copy" instead of > > "dynamiclibrary_import ", > > but I'm not sure that it is correctly.. > > Yes, that's what we link against for gcc-like toolchains. It's a bit of > an implementation detail, though. > > > Christian > > > 01.02.2015 22:22, Denis Shienkov пишет: > >> Hi all. > >> > >> I want to create a wrapper around of existing 3rd DLL on windows as a > >> separate product. > >> This solution works only with the MSVC compiler, as says in here (in > >> previous thread): > >> > >> http://lists.qt-project.org/pipermail/qbs/2014-May/000807.html > >> > >> My current snippet: > >> > >> = dllwrap.qbs = > >> > >> importqbs > >> import qbs.FileInfo > >> import qbs.File > >> DynamicLibrary { > >> name: "mhstcan" > >> Transformer { > >> Artifact { > >> filePath: product.targetName + ".dll" << existing > runtime library > >> fileTags: "dynamiclibrary" > >> } > >> Artifact { > >> filePath: product.targetName + ".lib" << existing > import library > >> fileTags: "dynamiclibrary_import" > >> } > >> prepare: { > >> var commands = [] > >> for (var tag in outputs) { > >> for (var index in outputs[tag]) { > >> var artifact = outputs[tag][index]; > >> var cmd = new JavaScriptCommand(); > >> cmd.sourceFile = product.sourceDirectory + > "/" + > >> FileInfo.fileName(artifact.filePath); > >> cmd.description = "copying " + > >> FileInfo.fileName(cmd.sourceFile); > >> cmd.highlight = "codegen"; > >> cmd.targetFilePath = artifact.filePath; > >> cmd.sourceCode = function() { > >> File.copy(sourceFile, targetFilePath); } > >> commands.push(cmd); > >> } > >> } > >> return commands; > >> } > >> } > >> } > >> > >> == app.qbs == > >> > >> import qbs > >> > >> > >> Application { > >> name: "app" > >> Depends { name: "cpp" } > >> Depends { name: "mhstcan" } > >> > >> > >> files: [ > >> "app.cpp", > >> ] > >> } > >> > >> > >> Briefly: I want to wrap the existing shared library mhstcan.dll (with > import > >> mhstcan.lib), which is compiled in MSVC, but to using in MinGW > compiler. But all > >> attempts are fails, because the linker does not called never. > >> > >> Seems, that "dynamiclibrary_import" is defined only for the MSVC > compiler. > >> But the MinGW has nothing similar. > >> > >> I tried to: > >> > >> * use the "staticlibrary" instead of "dynamiclibrary_import" > >> * convert the *.lib import file to the *.a import file and to pass to > Artifact with > >> the "*.a" suffix > >> > >> but nothing successfully - no linker called. > >> > >> So, my question: is any trick for it? > >> > >> PS: I use QBS from the QtCreator 3.3.0 + Qt 4.8.6 > >> > >> BR, > >> Denis > >> > > > > _______________________________________________ > QBS mailing list > [email protected] > http://lists.qt-project.org/mailman/listinfo/qbs >
_______________________________________________ QBS mailing list [email protected] http://lists.qt-project.org/mailman/listinfo/qbs
