Jake,

Thanks for your reply.

So… what are my options then? Can I link the libraries without being 
Frameworks, have them installed to my product output dir and link them and use 
them with my application?

While I have already managed to create a lib from my shared resources, which 
depends on other libs, I still couldn’t use this shared lib in a small test 
project. It always fails when running because it can’t find the libraries. 
Yesterday I have also tried to make them static libraries without success.

So far I was trying to setup this libs as DynamicLibrary with as a bundle. I 
have now removed the bundle dependency and property but it also didn’t worked.

This is what I have at the moment:

// workspace/qbs-app-test/qbs-app-tes.qbs - generated by QtCreator

import qbs

Project {
    references: ["../shared/shared.qbs"]
    minimumQbsVersion: "1.7.1"

    CppApplication {
        Depends { name: "Qt.core" }
        Depends { name: "Qt.quick" }
        Depends { name: "shared” } // << this is my shared library dependency
        property pathList qmlImportPaths: []
        cpp.cxxLanguageVersion: "c++11"

        cpp.defines: ["QT_DEPRECATED_WARNINGS"]

        files: ["main.cpp", "qml.qrc"]

        Group {
            fileTagsFilter: product.type
            qbs.install: true
            qbs.installSourceBase: product.buildDirectory
        }
    }
}

// workspace/shared/shared.qbs

import qbs

Project {
    name: "shared"
    references: [
        "external/3rd-party-lib-1/3rd-party-lib-1.qbs",
        "external/3rd-party-lib-2/3rd-party-lib-2.qbs"
    ]

    DynamicLibrary {
        Depends { name: "cpp" }
        cpp.includePaths: [".", "external/", "external/3rd-party-lib-1", 
"external/3rd-party-lib-2"]
        cpp.frameworks: ["CoreFoundation", "AppKit", "IOKit"]
        Depends { name: "parseqt" }
        Depends { name: "dsp" }
        Depends { name: "Qt"; submodules: ["core", "gui", "qml", "network", 
"quick"] }
        files: [...]

        Export {
           Depends { name: "cpp" }
           cpp.includePaths: [product.sourceDirectory]
        }
    }
}


When I run the project right now this is what happens:

dyld: Library not loaded: 3rd-party-lib-1.framework/Versions/A/3rd-party-lib-1
  Referenced from: 
/Users/nsantos/workspace/build-qbs-app-test-Desktop_Qt_5_7_1_clang_64bit2-Debug/qtc_Desktop_Qt_5_7_1_clang_64bit2_Debug/install-root/Library/Frameworks/shared.framework/Versions/A/shared
  Reason: image not found
The program has unexpectedly finished.


What am I missing here?

Thanks!

Regards,

Nuno

> On 23 Oct 2017, at 01:43, Jake Petroules <[email protected]> wrote:
> 
> Yes, framework embedding is not yet supported, although this is a high 
> priority item for a future release. It may not make THE next release in part 
> because we want to make sure the solution is general enough to be applicable 
> to other platforms as well, such as embedding libraries into Android APKs.
> 
>> On Oct 22, 2017, at 3:17 PM, Nuno Santos <[email protected]> wrote:
>> 
>> Hi,
>> 
>> I’m trying to a application project depend on custom set of libraries. The 
>> libraries are referenced on the project and marked as dependencies. The 
>> project builds but crashes on launch because the dependencies are not copied 
>> as frameworks to the resulting bundle. Is this a limitation of qbs at the 
>> moment?    
>> 
>> qbs 1.9.1 / Qt 5.7.1 / Mac OSX 
>> 
>> Thx
>> 
>> Regards,
>> 
>> Nuno
>> _______________________________________________
>> Qbs mailing list
>> [email protected]
>> http://lists.qt-project.org/mailman/listinfo/qbs
> 
> -- 
> Jake Petroules - [email protected]
> The Qt Company - Silicon Valley
> Qbs build tool evangelist - qbs.io
> 

_______________________________________________
Qbs mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/qbs

Reply via email to