--- Quote Start ---
You may still get warnings but you may ignore them.
--- Quote End ---
--- Quote Start ---
... but you can cut the pathes in the timing analysis.
--- Quote End ---
Rather than ignore reported timing violations, you really should cut the asynchronous paths once you have implemented the clock-domain crossing properly as suggested in other posts. If you don't cut these paths, the Fitter will needlessly try to optimize them, and cutting them makes your intention clear to someone maintaining the design.
If all paths between two clock domains are asynchronous in both directions (or if only one direction exists), you may use set_clock_groups.
If all cross-domain paths are asynchronous from clock A to clock B but not in the other direction (unlikely), you can use set_false_path from clock A to clock B.
If you need to cut individual paths because there are some synchronous paths between the same clock domains (also unlikely), use set_false_path for that.
Using set_clock_groups or set_false_path with the clock names is more efficient for TimeQuest to process than set_false_path for individual paths. For this particular design, you probably won't notice any difference in TimeQuest processing time or memory usage between doing it at the clock level or at the level of the individual paths, but get in the habit of using clock-to-clock exceptions like set_false_path, set_multicycle_path, and set_clock_groups when the design allows doing it at the clock level.