can anyone help me on how to use libharu. i already downloaded libharu and am trying to run their sample demo in dev-c++ environment but the errors a raises. this is the error message: C:\DOCUME~1\ITCPIA~1\LOCALS~1\Temp/ccUDbaaa.o(.text+0x6d):text_demo.c: undefined reference toHPDF_Page_SetRGBStroke'`
An undefined reference when linking means that you've forgotten to link against the proper library. Either add it to your references, or add -lharu to the command line, or whatever your development tool of choice requires for libraries.
Related
I have finally come across something that no one else seemed to have come across (at least from what I can tell). I trying to build an F# type provider using TypeProviders.SDK.
As soon as I build the solution I get the error: "FS0810, Property 'CultureName' cannot be set, \LemonadeProvider\paket-files\fsprojects\FSharp.TypeProviders.SDK\src\ProvidedTypes.fs" on line 2090 and again at 3162 in the design time project of the solution.
I do not think this is useful but the Test project also fails as it can not find the LemonadeProvider.Runtime.dll. I am assuming this will get created when the Runtime project will build successfully.
PS: As of right now I am just tring to build the provided template, I have not changed the code or added anything to it. Hence I have not attached any code, but please feel free to ask for it.
The corresponding issue is https://github.com/fsprojects/FSharp.TypeProviders.SDK/issues/353
Known workarounds
Change minimum target to net461. Replace all instances of net45 with net461, except for in netfx.props, where you can just delete the lines referencing net45* frameworks (I suspect the removal of those lines isn't strictly speaking necessary).
I did this workaround but am now facing these kinds of errors: (like 2000 of them)
C:\Users\user\source\repos\HelloWorldProvider\paket-files\fsprojects\FSharp.TypeProviders.SDK\src\ProvidedTypes.fs(34,7): error FS0074: The type referenced through 'System.Attribute' is defined in an assembly that is not referenced. You must add a reference to assembly 'netstandard'. [C:\Users\user\source\repos\HelloWorldProvider\src\HelloWorldProvider.DesignTime\HelloWorldProvider.DesignTime.fsproj]
I found out that the issue lied with the ProvidedTypes.fs and ProvidedTypes.fsi files created by the SDK.
The issue was solved for me when I replaced the files with the ones found in 'SDK-dsyme-patch-7' which provided compatibility for different .Net environments which was missing from the original SDK. There might be other differences but this is the one I found and it fixed the problem for me.
The files can be found under '/src/' in the dsyme patch.
The code I am referring to is as follows and has been added twice to the ProvidedTypes.fs:
#if NETSTANDARD
asmName.CultureName <- System.Globalization.CultureInfo.InvariantCulture.Name
#else
asmName.CultureInfo <- System.Globalization.CultureInfo.InvariantCulture
#endif
asmName
I am not aware if there is a new SDK that has solved the problem. But at the time when the question was asked, this is what worked for me.
How to add Monotouch.AVFoundation Framework linking in Xamarin.ios project? Please can anyone tell me in detail? I need this because I am using Emgu.CV.Monotouch.dll which is giving errors as
MT5210: Native linking failed, undefined symbol: _AVCaptureSessionPresetMedium. Please verify that all the necessary frameworks have been referenced and native libraries are properly linked in.
Error MT5211: Native linking failed, undefined Objective-C class: _OBJC_CLASS_$_AVAssetWriterInputPixelBufferAdaptor. If '_OBJC_CLASS_$_AVAssetWriterInputPixelBufferAdaptor' is a protocol from a third-party binding, please check that it has the [Protocol] attribute in its api definition file, otherwise verify that all the necessary frameworks have been referenced and native libraries are properly linked in. (MT5211)
The error message is telling you that the binding (the assembly) is out of date with the latest Xamarin.iOS version.
The new registrars available in 7.2.1 (and later) requires a bit more information (like the [Protocol] attributes) in order to work correctly (and solve a lot of small issues). Details on how to update the bindings are part of the links in the release notes (see earlier link).
It is possible to workaround this by (without fixing the bindings) using the --registrar:legacy option. That will effectively use the old registrars (and you won't get the benefits from the new ones). Again this is described in the release notes.
I am using fitsharp for invoking an acceptance test. The code has compiled perfectly and when run from Visual Studio, runs without any problem. But when I invoke the same test from Fitnesse, it throws up an error "Cannot find the file Microsoft.Practices.ObjectBuilder version 1.0.x.x". I have tried to check in the test project and all the referenced dlls but this particular library is not used anywhere. Also, I could not find the ObjectBuilder library with the same signature as mentioned above anywhere. Could someone help?
I am using an fmod plugin for Unity3D. Compiling to Windows and OSX is fine because I can dynamically load the DLL/dylib.
The problem comes when I compile for iOS. I use
[DllImport("__Internal")]
Because iOS requires statically linked libraries. When I compile though I get a
SystemException: Duplicate native method found : FMOD_System_CreateSound. Please check your source carefully.
I am quite sure I don't duplicate the symbol. I think this might be due to the fact that Unity imports FMODs itself and that the two might be colliding... But if this is the case, I am surprised that FMOD_System_CreateSound is the first one to get caught. Is there a way around this? thx!
As always, I will be happy to provide any additional details!
Here is a sample project that will cause the error:
Sample Unity Project with FMod
EDIT:
The conflict was caused by iOS not allowing functions to have the same name even though they don't have the same signature. After removing the same-named functions (thus removing some FMOD features that I didn't need), I can compile to iOS, but as expected, I still get an error when Initializing because FMOD is already initialized by Unity.
Unity3d already has a limited version of FMOD that is bundled with it, which is causing the conflict you are seeing. Unfortunately, it doesn't seem possible to disable it at this time, so that you can use the full version of FMOD
In reference to your edit and after looking at the sample, it is true that you cannot have two methods of the same name as the compiler will not recognize which to link to.
The easy fix is to obviously name them differently.
As for the initialization, if you can access the FMOD that Unity 3D already created, then you don't have to reinitialize it.
I assume that a pointer to that object will be sufficient to remove the duplicate initialization. Hope this is clear.
I have a console application that i got to make and i would like to use TClientSocket/TServerSocket in it.
The problem is that when i am trying to compile it, i am getting a linker error regarding the constructors and the destructors of the TBaseSocket and TCustomSocket classes (TClientSocket inherits from those two i think).
The linker error is something like this
[Linker error] undefined reference to ~TCustomSocket
The thing is that in a VCL Form project it compiles just fine, so i guess i am not including some libs paths that the form projects includes by default.
So if anyone could help me i would be grateful.
Thanks in advance and sorry for my english.
I had the same problem with Builder XE. Add 'inet.bpi' to your Requires list and it should link.