Я согласен с ответом от zacherates.
Но вы можете сделать вызов intern () в ваших нелиберальных строках.
Из примера zacherates:
// ... but they are not the same object
new String("test") == "test" ==> false
Если вы ставите нелитеральное равенство строки, это правда
new String("test").intern() == "test" ==> true
Поиск пакета делает больше, чем просто установка пути.
Вы можете добавить путь к папке Qt в CMAKE_PREFIX_PATH
, чтобы избежать этого следующим образом:
export CMAKE_PREFIX_PATH=$CMAKE_PREFIX_PATH:/home/user/Qt/5.12.0/gcc_64
или вы можете установить двоичные файлы qt для ROS, используя apt-get Like This :
sudo apt-get install ros-kinetic-libqt-*