Verifone compiler vrxcc doesn’t support file names longer than 32 characters

If you like long, explicit file names, and that you’re working with vrxcc (the Verifone eVo/Verix SDK compiler), you may sometimes notice that your output file name gets truncated and doesn’t have the expected extension. That’s a bug in the vrxcc compiler (versions <= 1.3 ), and it may cause many headaches.

For example, the command

vrxcc 0123456789012345678901234567890123456789.cpp

won’t give any error or warning, but will generate the following output files

  • 0123456789012345678901234567890123456789.o
  • 0123456789012345678901234567.out

Notice how the “.out” file name is shorter than the “.cpp” and the “.o” ones. The vrxcc output file is always truncated to 32 characters.

The limitation become obvious if you specify the name of the output in the vrxcc command :

vrxcc 0123456789012345678901234567890123456789.cpp -o 0123456789012345678901234567890123456789.a

You’ll now get a warning :

vrxcc: Warning: Output file name truncated

Confirmed by the resulting output :

  • 0123456789012345678901234567890123456789.o
  • 0123456789012345678901234567.out

Notice that the output file name is shorter, but also that its extension is not the expected one : a “.out” instead of a “.a”. If ever an output file name is longer than 32 characters, vrxcc will truncate it to 29, and then append a default “.out” extension.

This is painful, because it breaks linking in makefiles when output file names are stored in variables. If using a makefile, you can fix the issue by manually renaming the truncated file names before the linking. If using an IDE (like RVDS), this is trickier because you often can’t run custom steps after compilation and before linking. Your solution in this case ? Shorten your file name to less than 32 characters, and hope that Verifone will eventually fix the problem.

2 thoughts on “Verifone compiler vrxcc doesn’t support file names longer than 32 characters

    1. Nicolas Riousset Post author

      Hi George,

      You’ll find the vrxcc compiler on the Verix/VerixV SDK CD. Not on the terminals installation CDs.
      You can find more information about the verix/eVo SDK on http://www.verifonedevnet.com. If you haven’t bought the SDK, you’ll also find there Verifone sales departement contact info.

      Good luck,

      Nicolas

      Reply

Leave a Reply

Your email address will not be published. Required fields are marked *