LinkWithAttribute Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
A LinkWith attribute specifies how the native library associated with the assembly should be linked to the resulting application.
[System.AttributeUsage(System.AttributeTargets.Assembly, AllowMultiple=true)]
public sealed class LinkWithAttribute : Attribute
type LinkWithAttribute = class
inherit Attribute
- Inheritance
-
LinkWithAttribute
- Attributes
Remarks
This attribute is only useful for assemblies that bind to native libraries.
When using this attribute, the specified library in the constructor will be linked with the final application. You can use one or more of the properties of the attribute to configure how the linking is done.
// The following is used to link with GoogleAdMobAds:
[assembly: LinkWith ("libGoogleAdMobAds.a",
ForceLoad = true,
Frameworks = "AudioToolbox MessageUI SystemConfiguration CoreGraphics MediaPlayer StoreKit",
WeakFrameworks = "AdSupport",
IsCxx = true,
SmartLink = true,
LinkerFlags = "-lz -lsqlite3")]
[assembly: LinkerSafe]
Constructors
LinkWithAttribute() |
Creates a new LinkWithAttribute to specify custom build/linker flags for the managed assembly. |
LinkWithAttribute(String, LinkTarget, String) |
Creates a new LinkWithAttribute for the specified native library targetting the specified platform(s). |
LinkWithAttribute(String, LinkTarget) |
Creates a new LinkWithAttribute for the specified native library targetting the specified platform(s). |
LinkWithAttribute(String) |
Creates a new LinkWithAttribute for the specified native library. |
Properties
Dlsym |
Specifies if the managed assembly requires using dlsym to resolve P/Invokes to native functions. |
ForceLoad |
Specifies whether or not the -force_load clang argument is required when linking this native library. |
Frameworks |
Specifies a space-delimited list of platform Frameworks required by the native library. |
IsCxx |
Specifies whether or not the native library is a C++ library. |
LibraryName |
The name of the native library. |
LinkerFlags |
Additional linker flags that are required for linking the native library to an application. |
LinkTarget |
The target platform (or platforms) that this library is built for. |
NeedsGccExceptionHandling |
Specifies whether or not the native library requires linking with the GCC Exception Handling library (libgcc_eh). |
SmartLink |
If this is set true, the ForceLoad value will be ignored when it is deemed safe to do so. |
WeakFrameworks |
Specifies a list of space-delimited platform Frameworks that should be weakly linked. |