Closed amphibithen closed 8 years ago
Hello amphibithen!
First thing, all build artifacts are located in a build-directory inside each project directory. So JAR archives should be found e.g. in \at.o2xfs.win32\build\libs
where native libs should be located in subfolders like \at.o2xfs.xfs\build\libs\at.o2xfs.xfs.dll\shared
.
If there are no DLLs at all, I may ask if you already installed Visual Studio? If not, you can download Visual Studio Express 2013 for Desktop. I do not recommend to install the latest 2015 edition, since gradle doesn't support it yet.
Gradle also supports other platforms, but I have only used Visual Studio so far, see the Gradle Docs for more information.
Another thing to mention, you don't have do build native code if you don't want to. Since the API is very static, there isn't great change in native code. So you can download the latest at.o2xfs.operator.zip from the Releases. section and extract the DLLs from there.
Next question, are you running a x64 edition of windows? Because if so, it seems your gradle build uses a x64 JDK since it's located under Program Files
and not Program Files (x86)
like it should on x64 editions of windows.
So make sure your gradle build uses a x32 JDK, you can specify the path to the JDK in a file called gradle.properties
in the root directory of the O2Xfs repository. The entry should look something like this:
org.gradle.java.home=C:/Program Files (x86)/Java/jdk1.8.0_51
If you still have problems building, post the output from .\gradlew build
.
Best regards, Andreas Fagschlunger
Thanks for the prompt response!
I was trying to follow the setup.html, which didn't really mention any of those steps. Perhaps it should be updated with all the steps so it's all inclusive. If you like I can help out with it.
I am familiar with ATMs, so am doing all of this in a win7 x32 VM (as no vendors have even attempted x64) - no worries there.
I haven't actually installed XFS on this VM though, just followed the instructions on the setup page with what to do for the various XFS versions and unpacking them (not instaling). I literally just started by following all of the instructions on the setup page. If you follow the same, I'd expect you'd run into the same problem.
I tried following the instructions on the release page (to just take the at.o2xfs.operator.zip and running start.cmd), and I get a blank JRE box (after realizing your batch file didn't support paths with spaces). Even if I got the runtime working, I'd still want the build environment to get the latest and hopefully contribute. Although I don't know exactly what you mean by the "native code", can you explain that a little?
I did not have Visual Studio installed, did not really want to either - so opted to get the code from Releases at.o2xfs.operator.zip. Extracted at.o2xfs.operator.zip\bin\
to Z:\C\development\java_atm_app_test\O2Xfs\build\libs
. This did not help. I tried moving them to the bin folder instead (as the zip had them in bin), did not work. I tried unpacking all jars and dlls and put them in their respective folders (and all in libs), did not work. After testing, I tried to cleanup the bin directory, and it said bin\at.o2xfs.xfs.dll
was in use. Restarted, deleted bin folder, tried again (with dlls only in libs), did not work, and had no issues deleting.
So going back to your request, the output of ./gradlew
build is below. This is after loading all dlls and jars from Releases/at.o2xfs.operator.zip to build/libs.
:compileJava UP-TO-DATE
:processResources UP-TO-DATE
:classes UP-TO-DATE
:jar UP-TO-DATE
:assemble UP-TO-DATE
:compileTestJava UP-TO-DATE
:processTestResources UP-TO-DATE
:testClasses UP-TO-DATE
:test UP-TO-DATE
:check UP-TO-DATE
:build UP-TO-DATE
:at.o2xfs.common:compileJava UP-TO-DATE
:at.o2xfs.common:processResources UP-TO-DATE
:at.o2xfs.common:classes UP-TO-DATE
:at.o2xfs.common:jar UP-TO-DATE
:at.o2xfs.common:assemble UP-TO-DATE
:at.o2xfs.common:compileTestJava UP-TO-DATE
:at.o2xfs.common:processTestResources UP-TO-DATE
:at.o2xfs.common:testClasses UP-TO-DATE
:at.o2xfs.common:test UP-TO-DATE
:at.o2xfs.common:check UP-TO-DATE
:at.o2xfs.common:build UP-TO-DATE
:at.o2xfs.log:compileJava UP-TO-DATE
:at.o2xfs.log:processResources UP-TO-DATE
:at.o2xfs.log:classes UP-TO-DATE
:at.o2xfs.log:jar UP-TO-DATE
:at.o2xfs.win32:compileJava UP-TO-DATE
:at.o2xfs.win32:processResources UP-TO-DATE
:at.o2xfs.win32:classes UP-TO-DATE
:at.o2xfs.win32:jar UP-TO-DATE
:at.o2xfs.ctapi:compileJava UP-TO-DATE
:at.o2xfs.ctapi:processResources UP-TO-DATE
:at.o2xfs.ctapi:classes UP-TO-DATE
:at.o2xfs.ctapi:jar UP-TO-DATE
:at.o2xfs.ctapi:assemble
:at.o2xfs.ctapi:compileTestJava UP-TO-DATE
:at.o2xfs.ctapi:processTestResources UP-TO-DATE
:at.o2xfs.ctapi:testClasses UP-TO-DATE
:at.o2xfs.ctapi:test UP-TO-DATE
:at.o2xfs.ctapi:check UP-TO-DATE
:at.o2xfs.ctapi:build
:at.o2xfs.emv:compileJava UP-TO-DATE
:at.o2xfs.emv:processResources UP-TO-DATE
:at.o2xfs.emv:classes UP-TO-DATE
:at.o2xfs.emv:jar UP-TO-DATE
:at.o2xfs.emv:assemble UP-TO-DATE
:at.o2xfs.emv:compileTestJava UP-TO-DATE
:at.o2xfs.emv:processTestResources UP-TO-DATE
:at.o2xfs.emv:testClasses UP-TO-DATE
:at.o2xfs.emv:test UP-TO-DATE
:at.o2xfs.emv:check UP-TO-DATE
:at.o2xfs.emv:build UP-TO-DATE
:at.o2xfs.emv.demo:compileJava UP-TO-DATE
:at.o2xfs.emv.demo:processResources UP-TO-DATE
:at.o2xfs.emv.demo:classes UP-TO-DATE
:at.o2xfs.emv.demo:jar UP-TO-DATE
:at.o2xfs.emv.demo:assemble UP-TO-DATE
:at.o2xfs.emv.demo:compileTestJava UP-TO-DATE
:at.o2xfs.emv.demo:processTestResources UP-TO-DATE
:at.o2xfs.emv.demo:testClasses UP-TO-DATE
:at.o2xfs.emv.demo:test UP-TO-DATE
:at.o2xfs.emv.demo:check UP-TO-DATE
:at.o2xfs.emv.demo:build UP-TO-DATE
:at.o2xfs.xfs:compileJava UP-TO-DATE
:at.o2xfs.xfs:processResources UP-TO-DATE
:at.o2xfs.xfs:classes UP-TO-DATE
:at.o2xfs.xfs:jar UP-TO-DATE
:o2xfs-xfs3:compileJava UP-TO-DATE
:o2xfs-xfs3:processResources UP-TO-DATE
:o2xfs-xfs3:classes UP-TO-DATE
:o2xfs-xfs3:jar UP-TO-DATE
:at.o2xfs.xfs.service:compileJava UP-TO-DATE
:at.o2xfs.xfs.service:processResources UP-TO-DATE
:at.o2xfs.xfs.service:classes UP-TO-DATE
:at.o2xfs.xfs.service:jar UP-TO-DATE
:at.o2xfs.emv.pinpad.impl.xfs:compileJava UP-TO-DATE
:at.o2xfs.emv.pinpad.impl.xfs:processResources UP-TO-DATE
:at.o2xfs.emv.pinpad.impl.xfs:classes UP-TO-DATE
:at.o2xfs.emv.pinpad.impl.xfs:jar UP-TO-DATE
:at.o2xfs.emv.pinpad.impl.xfs:assemble UP-TO-DATE
:at.o2xfs.emv.pinpad.impl.xfs:compileTestJava UP-TO-DATE
:at.o2xfs.emv.pinpad.impl.xfs:processTestResources UP-TO-DATE
:at.o2xfs.emv.pinpad.impl.xfs:testClasses UP-TO-DATE
:at.o2xfs.emv.pinpad.impl.xfs:test UP-TO-DATE
:at.o2xfs.emv.pinpad.impl.xfs:check UP-TO-DATE
:at.o2xfs.emv.pinpad.impl.xfs:build UP-TO-DATE
:at.o2xfs.log:assemble UP-TO-DATE
:at.o2xfs.log:compileTestJava UP-TO-DATE
:at.o2xfs.log:processTestResources UP-TO-DATE
:at.o2xfs.log:testClasses UP-TO-DATE
:at.o2xfs.log:test UP-TO-DATE
:at.o2xfs.log:check UP-TO-DATE
:at.o2xfs.log:build UP-TO-DATE
:at.o2xfs.operator:compileJava UP-TO-DATE
:at.o2xfs.operator:processResources UP-TO-DATE
:at.o2xfs.operator:classes UP-TO-DATE
:at.o2xfs.operator:jar UP-TO-DATE
:at.o2xfs.operator:assemble UP-TO-DATE
:at.o2xfs.operator:compileTestJava UP-TO-DATE
:at.o2xfs.operator:processTestResources UP-TO-DATE
:at.o2xfs.operator:testClasses UP-TO-DATE
:at.o2xfs.operator:test UP-TO-DATE
:at.o2xfs.operator:check UP-TO-DATE
:at.o2xfs.operator:build UP-TO-DATE
:at.o2xfs.win32:assemble
:at.o2xfs.win32:compileTestJava UP-TO-DATE
:at.o2xfs.win32:processTestResources UP-TO-DATE
:at.o2xfs.win32:testClasses UP-TO-DATE
:at.o2xfs.win32:test
at.o2xfs.win32.BOOLTest > testFalse FAILED
java.lang.UnsatisfiedLinkError at BOOLTest.java:45
at.o2xfs.win32.BOOLTest > testTrue FAILED
java.lang.NoClassDefFoundError at BOOLTest.java:39
at.o2xfs.win32.impl.Win32BufferTest > putAndGet FAILED
java.lang.NoClassDefFoundError at Win32BufferTest.java:46
at.o2xfs.win32.impl.Win32BufferTest > subBuffer FAILED
java.lang.NoClassDefFoundError at Win32BufferTest.java:67
at.o2xfs.win32.impl.Win32BufferTest > bufferOverflow FAILED
java.lang.Exception
Caused by: java.lang.NoClassDefFoundError at Win32BufferTest.java:54
at.o2xfs.win32.ZSTRTest > helloWorld FAILED
java.lang.NoClassDefFoundError at ZSTRTest.java:38
:at.o2xfs.win32:test FAILED
BUILD FAILED
Total time: 21.617 secs
Ok, it seems the Java build runs but your native build (*.dll, etc.). doesn't. Since most of the Unit tests require the DLLs to run, you get all those nasty NoClassDefFoundError's. You can always build using gradle but without running test by starting gradle like following:
.\gradlew build -x test
But in order for proper environment, you should really install a free Version from Visual Studio. Visual Studio comes with the C/C++ compiler, the Windows Header files and gradle supports it out of the box. Of course you could download only the Windows SDK, and use gcc compiler instead, but I can't help you with that. Since XFS is based on the Win32-API, you have to use Windows components in one way or another.
If you have installed Visual Studio on your development machine, you can check gradle by switching to a directory containing native build artifacts and call gradle components
:
\O2Xfs> cd .\at.o2xfs.win32\
\O2Xfs\at.o2xfs.win32> ..\gradlew components
This should output something like the following:
------------------------------------------------------------
Native library 'at.o2xfs.win32.dll'
-----------------------------------
Source sets
C++ source 'at.o2xfs.win32.dll:cpp'
srcDir: src\at.o2xfs.win32.dll\cpp
Windows resources 'at.o2xfs.win32.dll:rc'
srcDir: src\at.o2xfs.win32.dll\rc
Binaries
Shared library 'at.o2xfs.win32.dll:debug:sharedLibrary'
build using task: :at.o2xfs.win32:at.o2xfs.win32.dllDebugSharedLibrary
build type: build type 'debug'
flavor: flavor 'default'
target platform: platform 'windows_x86'
tool chain: Tool chain 'visualCpp' (Visual Studio)
...
The question about the platform used (x86, x64) was regarding your development machine, were you write your code on. This machine, where the gradle build runs, must have a x86 version of JDK installed in order to run the unit tests. The XFS-API is based on x86 and doesn't support x64 by now and so at.o2xfs.win32
doesn't work on x64 either (by now).
So another thing, you actually can develop without compiling DLLs. The native runtime (*.dll) needed to run O²Xfs based applications is found as mentioned in the latest O²Xfs Operator release. You can implement new XFS services (CIM, CDM, etc.) without the need for a single line of new native (C, C++, etc.) code.
You already have to test XFS code on a machine which actually has a XFS Manager installed and has real hardware - or you're one lucky guy who has access to a XFS Simulator. But they all cost a lot of money.
The unit tests so far in o2xfs-xfs3
are helpful, but the don't actually access XFS. The only access Win32 to check if the conversion from Win32 (native) back to Java and vice versa works.
So we can work on without talking about native code generation. What would be the first thing you want to do? Were you able to launch O²Xfs Operator on an ATM of yours? This would show you what's already there and that it is actually working.
One last thing, if a Java class load a native library (.dll on Windows, .so on Linux) with a call to System.loadLibrary
like e.g. Win32Buffer, it will search for the library (name + .dll) in the current working directory and it searches the java.library.path
.
For example, you can edit the java.library.path
for eclipse in the project properties under Java Build Path
. In the Source
tab expand the listed source folders and there you should find an entry Native library location
. Currently those paths point to the gradle build directory, like for at.o2xfs.win32
it points to at.o2xfs.win32/build/libs/at.o2xfs.win32.dll/shared/release
.
You can copy the DLLs from O²Xfs Operator and copy them to any location you want. You edit the native library location in eclipse for the necessary projects (at.o2xfs.win32, at.o2xfs.xfs) and you can start XFS applications. But it's likely the fail soon since you may have no XFS Manager installed.
The java.library.path
is also actually a System property. So you can specify the path with an argument -Djava.library.path
like in start.cmd.
I do have xfs simulator, but didn't load it on the VM I tested. I just loaded O2XFS on an ATM, and it is working (more or less), but since release is a bit old some of the functionality doesn't work (I found the sections of code it wasn't yet implemented in, so fine with that).
So the one thing I can't do now is a full build, but I can run it on ATM (or VM with XFS Simulator).
I loaded Visual Studio 2013 Express, re-ran ./gradlew.bat build
and this time failed at new place (just a couple steps later).
...
:at.o2xfs.win32:assemble
:at.o2xfs.win32:compileTestJava UP-TO-DATE
:at.o2xfs.win32:processTestResources UP-TO-DATE
:at.o2xfs.win32:testClasses UP-TO-DATE
:at.o2xfs.win32:test
:at.o2xfs.win32:check
:at.o2xfs.win32:build
:at.o2xfs.xfs:compileAt.o2xfs.xfs.conf.dllSharedLibraryAt.o2xfs.xfs.conf.dllCppat.o2xfs.xfs.conf.cpp
**Z:\C\development\java_atm_app_test\O2Xfs\at.o2xfs.xfs\src\at.o2xfs.xfs.conf.dll\cpp\at.o2xfs.xfs.conf.cpp(30) : fatal error C1083: Cannot open include file: 'xfsconf.h': No such file or directory**
FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':at.o2xfs.xfs:compileAt.o2xfs.xfs.conf.dllSharedLibraryAt.o2xfs.xfs.conf.dllCpp'.
> A build operation failed.
C++ compiler failed while compiling at.o2xfs.xfs.conf.cpp.
See the complete log at: file:///Z:/C/development/java_atm_app_test/O2Xfs/at.o2xfs.xfs/build/tmp/compileAt.o2xfs.xfs.conf.dllSharedLibraryAt.o2xfs.xfs.conf.dllCpp/output.txt
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED
Total time: 28.02 secs
Ran gradlew components:
$ ../gradlew components
:at.o2xfs.win32:components
------------------------------------------------------------
Project :at.o2xfs.win32
------------------------------------------------------------
Native library 'at.o2xfs.win32.dll'
-----------------------------------
Source sets
C++ source 'at.o2xfs.win32.dll:cpp'
srcDir: src\at.o2xfs.win32.dll\cpp
Windows resources 'at.o2xfs.win32.dll:rc'
srcDir: src\at.o2xfs.win32.dll\rc
Binaries
Shared library 'at.o2xfs.win32.dll:debug:sharedLibrary'
build using task: :at.o2xfs.win32:at.o2xfs.win32.dllDebugSharedLibrary
build type: build type 'debug'
flavor: flavor 'default'
target platform: platform 'windows_x86'
tool chain: Tool chain 'visualCpp' (Visual Studio)
shared library file: build\libs\at.o2xfs.win32.dll\shared\debug\at.o2xfs.win32.dll
Static library 'at.o2xfs.win32.dll:debug:staticLibrary'
build using task: :at.o2xfs.win32:at.o2xfs.win32.dllDebugStaticLibrary
build type: build type 'debug'
flavor: flavor 'default'
target platform: platform 'windows_x86'
tool chain: Tool chain 'visualCpp' (Visual Studio)
static library file: build\libs\at.o2xfs.win32.dll\static\debug\at.o2xfs.win32.lib
Shared library 'at.o2xfs.win32.dll:release:sharedLibrary'
build using task: :at.o2xfs.win32:at.o2xfs.win32.dllReleaseSharedLibrary
build type: build type 'release'
flavor: flavor 'default'
target platform: platform 'windows_x86'
tool chain: Tool chain 'visualCpp' (Visual Studio)
shared library file: build\libs\at.o2xfs.win32.dll\shared\release\at.o2xfs.win32.dll
Static library 'at.o2xfs.win32.dll:release:staticLibrary'
build using task: :at.o2xfs.win32:at.o2xfs.win32.dllReleaseStaticLibrary
build type: build type 'release'
flavor: flavor 'default'
target platform: platform 'windows_x86'
tool chain: Tool chain 'visualCpp' (Visual Studio)
static library file: build\libs\at.o2xfs.win32.dll\static\release\at.o2xfs.win32.lib
Additional source sets
----------------------
Java source 'main:java'
srcDir: src\main\java
limit to: **/*.java
Java source 'test:java'
srcDir: src\test\java
limit to: **/*.java
JVM resources 'main:resources'
srcDir: src\main\resources
JVM resources 'test:resources'
srcDir: src\test\resources
Additional binaries
-------------------
Classes 'main'
build using task: :at.o2xfs.win32:classes
target platform: Java SE 8
tool chain: JDK 8 (1.8)
classes dir: build\classes\main
resources dir: build\resources\main
Classes 'test'
build using task: :at.o2xfs.win32:testClasses
target platform: Java SE 8
tool chain: JDK 8 (1.8)
classes dir: build\classes\test
resources dir: build\resources\test
Note: currently not all plugins register their components, so some components may not be visible here.
BUILD SUCCESSFUL
Total time: 6.49 secs
Hi @amphibithen!
This one is easy, although you have four XFS SDKs for the unit tests, there is still the core API which per default searches for the XFS SDK in C:/Program Files (x86)/Common Files/XFS
, the default location of the latest SDK installer.
Add a `xfsSdkDir
property in your gradle.properties
file to overwrite the default path. It doesn't matter to which XFS SDK the path points (a 2.x version would work), but you may set the path to a XFS SDK already extracted, for example
xfsSdkDir=C:/XFS SDKs/SDK303/Common/XFS/SDK
if you used the directories used in the Setup guide.
Best regards, Andreas Fagschlunger
Ah, I had it in there...but didn't put the right path (I pointed to the C:/XFS SDKs/SDK320
). Unfortunately that path doesn't really exist in 3.20, but when I point it towards the .../XFS/SDK
folder, or towards 3.03 at C:/XFS SDKs/SDK303/Common/XFS/SDK
, I receive below error.
:at.o2xfs.xfs:compileAt.o2xfs.xfs.dllStaticLibraryAt.o2xfs.xfs.dllCpp UP-TO-DATE
:at.o2xfs.xfs:compileAt.o2xfs.xfs.dllStaticLibraryAt.o2xfs.xfs.dllRc UP-TO-DATE
:at.o2xfs.xfs:createAt.o2xfs.xfs.dllStaticLibrary UP-TO-DATE
:at.o2xfs.xfs:at.o2xfs.xfs.dllStaticLibrary UP-TO-DATE
:at.o2xfs.xfs:compileAt.o2xfs.xfs.test.dllSharedLibraryAt.o2xfs.xfs.test.dllCppCamStructV3_20.cpp
Z:\C\development\java_atm_app_test\O2Xfs\at.o2xfs.xfs\src\at.o2xfs.xfs.test.dll\cpp\CamStructV3_20.cpp(9) : error C2146: syntax error : missing ';' before identifier 'takePictEx'
Z:\C\development\java_atm_app_test\O2Xfs\at.o2xfs.xfs\src\at.o2xfs.xfs.test.dll\cpp\CamStructV3_20.cpp(9) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
Z:\C\development\java_atm_app_test\O2Xfs\at.o2xfs.xfs\src\at.o2xfs.xfs.test.dll\cpp\CamStructV3_20.cpp(34) : error C2039: 'wAntiFraudModule' : is not a member of '_wfs_cam_status'
C:\XFS SDKs\SDK303\Common\XFS\SDK\INCLUDE\XFSCAM.H(119) : see declaration of '_wfs_cam_status'
Z:\C\development\java_atm_app_test\O2Xfs\at.o2xfs.xfs\src\at.o2xfs.xfs.test.dll\cpp\CamStructV3_20.cpp(34) : error C2065: 'WFS_CAM_AFMOK' : undeclared identifier
Z:\C\development\java_atm_app_test\O2Xfs\at.o2xfs.xfs\src\at.o2xfs.xfs.test.dll\cpp\CamStructV3_20.cpp(51) : error C2039: 'bPictureFile' : is not a member of '_wfs_cam_caps'
C:\XFS SDKs\SDK303\Common\XFS\SDK\INCLUDE\XFSCAM.H(128) : see declaration of '_wfs_cam_caps'
Z:\C\development\java_atm_app_test\O2Xfs\at.o2xfs.xfs\src\at.o2xfs.xfs.test.dll\cpp\CamStructV3_20.cpp(52) : error C2039: 'bAntiFraudModule' : is not a member of '_wfs_cam_caps'
C:\XFS SDKs\SDK303\Common\XFS\SDK\INCLUDE\XFSCAM.H(128) : see declaration of '_wfs_cam_caps'
Z:\C\development\java_atm_app_test\O2Xfs\at.o2xfs.xfs\src\at.o2xfs.xfs.test.dll\cpp\CamStructV3_20.cpp(57) : error C2228: left of '.wCamera' must have class/struct/union
type is 'int'
Z:\C\development\java_atm_app_test\O2Xfs\at.o2xfs.xfs\src\at.o2xfs.xfs.test.dll\cpp\CamStructV3_20.cpp(58) : error C2228: left of '.lpszCamData' must have class/struct/union
type is 'int'
Z:\C\development\java_atm_app_test\O2Xfs\at.o2xfs.xfs\src\at.o2xfs.xfs.test.dll\cpp\CamStructV3_20.cpp(59) : error C2228: left of '.lpszUNICODECamData' must have class/struct/union
type is 'int'
Z:\C\development\java_atm_app_test\O2Xfs\at.o2xfs.xfs\src\at.o2xfs.xfs.test.dll\cpp\CamStructV3_20.cpp(60) : error C2228: left of '.lpszPictureFile' must have class/struct/union
type is 'int'
FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':at.o2xfs.xfs:compileAt.o2xfs.xfs.test.dllSharedLibraryAt.o2xfs.xfs.test.dllCpp'.
> A build operation failed.
C++ compiler failed while compiling CamStructV3_20.cpp.
See the complete log at: file:///Z:/C/development/java_atm_app_test/O2Xfs/at.o2xfs.xfs/build/tmp/compileAt.o2xfs.xfs.test.dllSharedLibraryAt.o2xfs.xfs.test.dllCpp/output.txt
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED
Total time: 19.281 secs
also thought I'd mention, above error is from pointing towards 3.03 path, but I get different error when pointing towards 3.20 path.
:at.o2xfs.xfs:at.o2xfs.xfs.dllStaticLibrary
:at.o2xfs.xfs:compileAt.o2xfs.xfs.test.dllSharedLibraryAt.o2xfs.xfs.test.dllCppCamStructV3_20.cpp
C:\XFS SDKs\SDK320\XFS\SDK\INCLUDE\XFSCAM.H(178) : fatal error C1071: unexpected end of file found in comment
FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':at.o2xfs.xfs:compileAt.o2xfs.xfs.test.dllSharedLibraryAt.o2xfs.xfs.test.dllCpp'.
> A build operation failed.
C++ compiler failed while compiling CamStructV3_20.cpp.
See the complete log at: file:///Z:/C/development/java_atm_app_test/O2Xfs/at.o2xfs.xfs/build/tmp/compileAt.o2xfs.xfs.test.dllSharedLibraryAt.o2xfs.xfs.test.dllCpp/output.txt
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED
Total time: 30.186 secs
Indeed there is a problem. The CAM classes are somewhat outdated, so I disabled the CamStructV3_20Test test.
But the DLL is still present in build.gradle, so for the moment remove the whole block in at.o2xfs.xfs/build.gradle
:
'at.o2xfs.xfs.test.dll'(NativeLibrarySpec) {
binaries.all {
lib project: ':at.o2xfs.win32', library: 'at.o2xfs.win32.dll'
lib library: 'jni', linkage: 'api'
lib library: 'msxfs', linkage: 'static'
rcCompiler.args "/v"
rcCompiler.define "FILE_VERSION=\"0.0\""
rcCompiler.define "COMMA_VERSION=0,0,0,0"
rcCompiler.define "ORG_FILENAME="
}
}
thanks, it is now building. i will make some pull requests to resolve build.
hi, i found this project and it peaked my interest, so decided to give it look over. i am not familiar with gradle so may be a newbie mistake. when i follow "https://github.com/AndreasFagschlunger/O2Xfs/blob/gh-pages/setup.html" i run into an error on the tests, which appear to stem from a config issue. when running "./gradlew.bat build --info", i eventually fail with below.
i looked into the path "Z:\C\development\java_atm_app_test\O2Xfs\at.o2xfs.win32\build\libs\" and see no "at.o2xfs.win32.dll", only "at.o2xfs.win32.jar". then the contents of it don't really match what is listed, and i found a folder named "at.o2xfs.win32.dll", but the contents also don't match, so wasn't sure what is missing.