You intend to develop WOSA/XFS applications. Then you have to make a development environment, which includes: a) XFS installation from the hardware manufacture if you are developing a software for the machine which is already in use at the FI market (e.g. brand ATM or kiosk model)
b) Or, if you are making your own hardware which includes some XFS devices (e.g. card reader, bar code reader etc) in the configuration, this is a more complicated and very hard for implementation because you have to implement your own port of CEN XFS standard, which includes to build all necessary code (dlls, libs and header files) for your own XFS Manager, and all device SPI's (Service Provider Interface) including API SPI responsible for a general XFS functionalities. This would be not a quite rational time and money investment if your new hardware FI unit cannot be sold in quantities, at least hundreds or even thousands. But, you can buy ready-made XFS installation from a variety of vendors (NCR, Wincor, Diebold, Glory Solutions etc).
This would be a first step, to supply both of your development and testing environment with an appropriate XFS installation (development version for devel machine, a runtime version for testing machine). Second, for the application development needs, you could install your favorite C++ environment on your development machine and debugging environment on the testing hardware.
When you finished with a setup, you have just to include header files in your code and to link libraries when building executable in order to make appropriate software for your cash/credit card machine.
You're right, XFS is more like Java "write once, run everywhere" so there are no needs for maintaining and adopting the software in the future if you change, for example, a discontinued card-reader or cash deposit unit for another one even from a different vendor.