[Quickfix-developers] quickfix_jni.dll compilation problem
Brought to you by:
orenmnero
|
From: Alexander G. <ago...@ac...> - 2006-02-10 12:18:27
|
Hi All,
I am a newbee in Fix. I want to use quickFix as a FIX engine for a new =
project and I have a problem running the junit tests.=20
I downloaded the sources and I tried to compile the quickfix_jni.dll for =
Windows/Java using postgreSQL as the db platform. I did the following:
1. edited the config_windows.h (uncommented #define HAVE_JAVA 1
and #define HAVE_POSTGRESQL 1)
2. Downloaded the windows installer of postgreSQL (v. 8.1.2.) and =
installed the db.
3. Downloaded and installed the "Microsoft Platform SDK" in order to =
have the shfolder.lib.
4. Downloaded the source code of the same version of postgreSQL and with =
the aid of the shfolder.lib compiled the libpqdll.lib.
5. Installed the Microsoft visual C++ 6.0. and opened the =
quickfix_vs6.dsw. In the tools -> options added the following =
directories:
- into the "include files":=20
%java_home%\include
%java_home%\include\win32
%postgres_install_dir%\include
- into the "library files"
%postgres_src_dir%\src\interfaces\libpq\Release\ (containing =
libpgdll.lib).
6. Ran the batch build of the workspace.
7. Opened the eclipse platform and ran the ant build of the build.xml =
from the src/java folder.
8. Ran the junit tests from the quickfix.test packages. The first three =
tests: MessageTest, FieldTest, and DataDictionaryTest executed =
successfully while the last two (DictionaryTest and SessionSettingsTest =
failed with the following error:
java.lang.UnsatisfiedLinkError: create
at quickfix.Dictionary.create(Native Method)
at quickfix.Dictionary.<init>(Dictionary.java:30)
at quickfix.test.DictionaryTest.setUp(DictionaryTest.java:20)
at junit.framework.TestCase.runBare(TestCase.java:138)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:131)
at junit.framework.TestSuite.runTest(TestSuite.java:173)
at junit.framework.TestSuite.run(TestSuite.java:168)
at =
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTes=
tRunner.java:478)
at =
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunn=
er.java:344)
at =
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRun=
ner.java:196)
I investigated a bit and found out that all the failed tests fail while =
running a native method create (from the constructor of the class =
quickfix.Dictionary) which apparently calls the constructor of the =
Dictionary.cpp class.=20
Could someone suggest something to resolve this problem and/or tell how =
important is that these tests fail.
Thank you very much in advance.
Alexander Gorbachev.
|