I am using RocksDB in a scala project with SBT.
For windows I understand that I need to infor SBT about the win64 DLL which is inside the jar file, but am still not getting this right.
I have tried what us written here but with no luck
How to resolve a non-jar (dll/jnilib) library dependencies in sbt?
How do I use RocksDB in a windows Java project?
You don't need to explicitly tell SBT about the Native Library (DLL on Windows) and the Rocks Jar file includes the Native Library and the startup code of RocksDB knows how to load that from the Jar.
Just include the RocksDB jar dependency (which includes the DLL) in your SBT build file as you would any other Java library.
Related
Coming from a JVM background I would like to know how to deploy a golang project to production. Is there an equivalent of a JAR file?
Is there a standalone package manager that can be installed on server and a dependency manifest file which can be run to bring down all dependencies on the server. I specifically do not want to have to build the project on the server as we can't have any compilers etc on production boxes.
thanks.
I you run go install <pkg>, the binary will be placed in $GOPATH/bin. You can copy that binary to another machine that has the same OS and architecture.
You can also change into the directory that includes the main package and just run go build. The binary will be placed in the current directory.
There are no dependencies in a Go binary for you to track. It is statically linked. (Some system libraries may be dynamically linked, but if you are running on the same OS, this shouldn't be a problem.)
I want to build a maven artifact that contains some executable native binaries so that other maven projects can depend on this artifact and refer to those binaries at build time.
I've looked at the maven-assembler-plugin and it appears promising, but I'm not sure how to get it going end to end. If I tell it to package up my dir I'll still need a way to tell clients to depend on that artifact and have that cause the binaries to be pulled in and put in a well-defined location.
Some specifics might help. I want to put the various platform versions of the thrift compiler into an artifact. Then I want clients to depend on that artifact and use the maven-thrift-plugin to execute the binary thrift compiler appropriate to the platform to generate the java code that will then be built by the java compiler.
The maven-assembly-plugin should be sufficient to package your native binaries into an archive.
Clients can the use the unpack goal of the maven-dependency-plugin to unpack this archive into a given directory, e.g. the current target.
Then all you need is a Maven plugin that knows how to run your native binaries and to pick them up from the given directory.
I am trying to integrate a 3rd party native plugin with unity3D. In order to use it i made a c# plugin as a wrapper dll. The plugin works fine with PC standalone when i copy the plugin binaries manually to build folder along with my EXE file.I have used debug configuration for the plugin build process.
Problem is :
when i make a mac OS X build, i am getting DllNotFoundException. My c# plugin file is in the app located at "\Contents\Data\Managed" along with other unity related plugins which means unity is recognizing my wrapper plugin but not copying the native plugins.
Things already tried :
I copied the native plugins also in the Assets/Plugins/ folder so as they are also included in build, but unity didn't include them in build.
I tried putting my native plugin in "\Contents\Data\Managed" folder and also in other folders in the app,still it was not able to find the dll.
I tried putting the dylib file which came with the native plugin, also along with my wrapper plugin but it didn't work.
I tried to do a dllmap in the config file at "\Contents\Data\Managed\etc\mono" using
also, but it didn't work.
I am out of ideas. Any help is appreciated.
It worked for me to add a dll map to the mono config file found here:
Your.app/Contents/Data/Managed/etc/mono/config
I added the following :
<dllmap dll="phidget21.dll" target="/Library/Frameworks/Phidget21.framework/Versions/Current/Phidget21" />
Make sure that the Phidget21.framework exists in /Library/Frameworks..
I have a laptop that can dual boot into Windows 7 or Ubuntu. Whenever I use Eclipse on Windows and then boot into Ubuntu or vice versa, Eclipse can't find some of the jar files I'm using for my project. Specifically, jfxrt.jar, for JavaFX.
For example, when I use Eclipse on Windows, under Referenced Libraries, it says that the jar file is in C:\Program Flies\Java\jdk1.7.0_25\jre\lib. When I boot into Ubuntu, it still says that the the jar is in C:\Program Flies\Java\jdk1.7.0_25\jre\lib, and surprise surprise, it can't find it. So I change it to the correct location for Ubuntu. It's all well and good until I boot back into Windows, where I have the same problem.
Is there any way to avoid this?
Did you add the jar to the library as an external jar? That would be the path it stores, then. Use a variable instead if you have to add it manually: http://help.eclipse.org/juno/topic/org.eclipse.jdt.doc.user/reference/preferences/java/buildpath/ref-preferences-classpath-variables.htm?cp=1_4_2_0_1_0 . It's possible, though, that if this is part of Java 7, you just need the latest version of Eclipse--it supports Java 7 explicitly.
I'm trying to deploy my simple Qt project like a hello world.
I build it successfully and can also execute it on Qt-Creator. However, I can't execute the binary directly in the release folder due to some shared library errors.
So I just copy some essential librarys to the release folder such as qtcore.dll and qtgui.dll, but I can't still execute it.
How can I deploy my simple Qt project? Is there an another step to deploy it?
You also need to deploy the MINGW runtime dll (mingwm10.dll). This file is located in your Qt\2009.5\mingw\bin directory.
Also pay attention to whether your application is compiled in debug mode or release mode. I just made the test with an hello world type application and Qt Creator. In the debug folders, I copied libgcc_s_dw2-1.dll, mingwm10.dll, QtCored4.dll and QtGuid4.dll and it works.
Pay attention to the d in dll names, which stands for debug: QtCore d 4.dll.
See Qt 4.6: Deploying an Application in Windows.
For Qt 5, check this page.
If you don't want to have dependencies with qt/mingw dlls you should compile qt statically as explain here: http://qt.nokia.com/doc/4.6/deployment-windows.html#static-linking.
You may also use static linking, just add this line into the .pro file:
QMAKE_LFLAGS += -static-libgcc
I found the solution here and successfully tested on WinXP with QT creator 2.2.0
Try running dependency walker on it (http://dependencywalker.com/) to see which dlls are missing?
Generally, you won't need to move those Qt libraries into your local folder since the Qt installation should've added those libraries into your path.
One possibility is that you built debug, and the Qt debug dlls are named differently
copy all the qt dlls to your windows directory directly "C:\Windows\" and there will be no qt dll error
100% working and simple
nb: do not create a qt dll folder in your windows directory post them as they are