Skip to content

When building SAIL as dynamic library with VCPKG it is built as a static library #214

Open
@Murk42

Description

I'm using Visual Studio with its VCPKG integration in manifest mode.
In the project properties "Configuration Properties/vcpkg/Use Static Libraries" is set to "No".
With this setup I get a linker error like:
error LNK2019: unresolved external symbol __imp_sail_init referenced in function "struct Blaze::TimingResult __cdecl Blaze::InitializeSail(void)" (?InitializeSail@Blaze@@YA?AUTimingResult@1@XZ)

With a quick google search I found out "__impl" prefix is added to a function when it is searched for from a DLL. But because it couldn't link I realized that SAIL was built as a static library.

For a quick fix I added SAIL_STATIC before my include and manually included SAIL .lib files in the project properties and everything compiled right.

The thing I don't understand is why are SAILL .dll files still generated, if the .lib file is a static library?

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions