Remember that the -exec option requires a free-standing semicolon at the end of its operand, so that the find command can, um, find the end of that operand. But shells tend to absorb semicolons for their own purposes, so you may wish to "escape" the semicolon; this will cause the shell to pass that semicolon on to the find command, rather than "using" it. Like this:
find . -name '*.cxx' -exec ls -l {} \;
|