いおりです。こんばんは。会社帰りに携帯からとりあえず返信したのでわかりにくくてスミマセン。JavaアプリからDLLを呼び出しているとのことですのでアプリがjarですと、カレントディレクトリはわかりにくいかもですね。Javaアプリ自体が実行形式にしているのかjarファイルを実行しているのかもわかりませんが。。。コマンドプロンプトからc:\qtfromjava>c:\hoge\java -jar .\app.jarのような感じで実行しているならc:\qtfromjavaがカレントディレクトリになるのでc:\qtfromjava\sqldrivers\qsqlpsql.dllな、感じでどうかな?と思った次第です。エクスプローラからjarをダブルクリック(関連付け)で起動しているとカレントがどこになるのかよくわかりませんのでいちど、jarへのショートカットを作ってショートカットのプロパティの作業フォルダをjarのあるフォルダにすれば.\app.jar.\sqldrivers\qsqlpsql.dllという感じです。もしかしたらな感じですが、以上です。2014年12月19日 23:15 小澤和広 <kazuhiro.ozawa@gmail.com>:小澤です。いつもお世話になってます。いおりさん、こんばんは。返信、ありがとうございます。カレントディレクトリとは、DLL直下にsqldriversを配置するということでしょうか?はっきり覚えてないですが、色々試しましたので、ダメだったと思います。2014年12月19日 18:03 Takayuki Orito <iori.ayane@gmail.com>:いおりです。
こんにちは。
ちゃんと検証してませんのでもしかしたら程度ですが。
sqldriversフォルダを「カレントディレクトリ」に置いたらどうでしょうか?以上です
2014/12/19 15:43 "小澤和広" <kazuhiro.ozawa@gmail.com>:_______________________________________________小澤です。いつもお世話になってます。Qtで作成したDLLをJavaからJNA(JNIではありません)にて呼び出す方法を実装しています。PostgreSQLを使用しているため、qsqlpsql.dllが必要なのですが、これを置く場所が問題で、ビルド環境が無いPCにセットした場合、ビルドした場所のパスにqsqlpsql.dllを置かないとだめみたいです。例:c:\Qt5.3.1\5.3\msvc2010_opengl\plugins\sqldrivers\qsqlpsql.dllEXEから呼び出す場合は、QApplication::setLibraryPathを指定すれば\plugins\sqldrivers\qsqlpsql.dll を任意の場所に指定することが出来ますが、作成したのはDLLのため、QApplicaitonを定義してもエラーになってしまいます。パスを指定するやり方をご教示下さい。よろしくお願いします。
Qt-users mailing list
Qt-users@qt-users.jp
http://qt-users.jp/mailman/listinfo/qt-users
_______________________________________________
Qt-users mailing list
Qt-users@qt-users.jp
http://qt-users.jp/mailman/listinfo/qt-users
_______________________________________________
Qt-users mailing list
Qt-users@qt-users.jp
http://qt-users.jp/mailman/listinfo/qt-users
--//---------------------------------------------------------
折戸 孝行 (Takayuki Orito)
Mail : iori.ayane@gmail.com
Web : http://relog.xii.jp/
Twitter : http://twitter.com/IoriAYANE
_______________________________________________
Qt-users mailing list
Qt-users@qt-users.jp
http://qt-users.jp/mailman/listinfo/qt-users